Installing Sentry On Premise Using Docker Compose on Ubuntu 18.04

Here is tutorial how to install Sentry On Premise

I recommend to have minimum 4GB of RAM. If not, you can install more swap to accommodate this.

Install Docker

sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

# Install docker compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version

Install Sentry On Premise

git clone https://github.com/getsentry/onpremise.git docker-sentry
cd docker-sentry
docker volume create --name=sentry-data && docker volume create --name=sentry-postgres
cp -n .env.example .env
docker-compose build
docker-compose run --rm web config generate-secret-key
nano .env
# add secret key to .env
docker-compose run --rm web upgrade
docker-compose up -d

Then modify config.yml with your mail credentials

Install NGinx

sudo apt-get install nginx
sudo ln -s /etc/nginx/sites-available/<yourdomainname> /etc/nginx/sites-enabled/<yourdomainname>

Then edit file /etc/nginx/sites-available/<yourdomainname>

server {
    listen 80;
    listen [::]:80;
    server_name <yourdomainname>;
    root /var/www/html;
    
    index index.html index.htm index.php;
    
    charset utf-8;

    location / {
        proxy_pass http://127.0.0.1:9000;
        add_header Strict-Transport-Security "max-age=31536000";
    }
    
    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log off;
    error_log  /var/log/nginx/<yourdomainname>-error.log error;

    client_max_body_size 128m;
}

Test NGINX installation then reload configuration if fine

sudo nginx -t
sudo service nginx restart

Setup your DNS to point on your server

Then try opening your domain