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 \
curl -fsSL | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] \
   $(lsb_release -cs) \
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli

# Install docker compose
sudo curl -L "$(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 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 / {
        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