Files
web_server/docker-compose.yml

57 lines
1.2 KiB
YAML

networks:
app-network:
driver: bridge
services:
nginx:
build:
context: ./nginx
dockerfile: Dockerfile
container_name: nginx
environment:
BACKEND_HOST: "${BACKEND_HOST}" # from .env
restart: unless-stopped
networks:
- app-network
ports:
- 80:80
- 443:443
volumes:
- ./certbot/conf:/etc/letsencrypt
- ./certbot/www:/var/www/certbot
- ./html/:/etc/nginx/html:ro
certbot:
image: certbot/certbot
container_name: certbot
volumes:
- ./certbot/conf:/etc/letsencrypt
- ./certbot/www:/var/www/certbot
command: certonly --webroot -w /var/www/certbot --email adam.a.french@outlook.com -d adam-french.co.uk --agree-tos
networks:
- app-network
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: "${BACKEND_HOST}"
restart: unless-stopped
depends_on:
- db
networks:
- app-network
env_file:
- ./.env
db:
image: postgres:16
container_name: "${POSTGRES_HOST}"
restart: unless-stopped
environment:
POSTGRES_USER: "${POSTGRES_USER}"
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
POSTGRES_DB: "${POSTGRES_DB}"
networks:
- app-network