Update Server:
apt update && apt upgrade -y
Set hostname:
hostnamectl set-hostname ex.example.com
Installing Docker:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubu... | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt install docker-ce
sudo systemctl status docker
docker run hello-world
Installing Docker Compose:
sudo apt install docker-compose
docker-compose --version
Running Metabase with Docker Compose:
mkdir ~/metabase
cd ~/metabase
nano docker-compose.yml
paste
version: '3'
services:
metabase:
image: metabase/metabase:latest
ports:
"127.0.0.1:3000:3000"
volumes:
data:/metabase
volumes:
data:
docker-compose up -d
curl --head http://:3000
Installing and Configuring Nginx:
sudo apt install nginx
sudo ufw allow "Nginx Full"
sudo nano /etc/nginx/sites-available/metabase.conf
paste
server {
listen 80;
listen [::]:80;
server_name ex.example.com;
access_log /var/log/nginx/metabase.access.log;
error_log /var/log/nginx/metabase.error.log;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_pass http://localhost:3000;
}
}
sudo ln -s /etc/nginx/sites-available/metabase.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx.service
Installing Certbot and Setting Up TLS Certificates:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d ex.example.com
Accessing metabase UI:
ex.example.com