Skip to content

Instantly share code, notes, and snippets.

@bastienapp
Last active July 26, 2023 14:06
Show Gist options
  • Save bastienapp/915258fc5a9850c671f1d28a0a435e64 to your computer and use it in GitHub Desktop.
Save bastienapp/915258fc5a9850c671f1d28a0a435e64 to your computer and use it in GitHub Desktop.

VPS

Connection to VPS:

Firewall:

sudo ufw allow ssh
sudo ufw enable
sudo ufw status verbose

Docker Frontend

Firewall:

sudo ufw allow 4200/tcp

Build and run:

sudo docker build -t frontend-image .

sudo docker run --name=frontend-container -dp 0.0.0.0:4200:4200 frontend-image

Docker Backend

Firewall:

sudo ufw allow 8080/tcp

Build and run:

sudo docker build -t backend-image .

sudo docker run --name=backend-container -dp 0.0.0.0:8080:8080 backend-image

Docker Database

Build and run:

sudo docker build -t mysql .

sudo docker run --name=mysql -dp 0.0.0.0:3306:3306 mysql

Connect to MySQL:

sudo docker exec -it mysql bash
mysql -u root -p

Nginx Proxy Manager

Firewall:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow 81/tcp

Configuration:

mkdir nginxproxymanager
cd nginxproxymanager
nano docker-compose.yml

Edit this content:

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

Build and run:

sudo docker compose up -d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment