services: nginx: container_name: nginx restart: unless-stopped image: nginx ports: - 80:80 - 443:443 volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf - ./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 backend: build: context: ./backend dockerfile: Dockerfile container_name: backend restart: unless-stopped ports: - 8080:8080 db: image: postgres:16 container_name: db restart: unless-stopped environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: password POSTGRES_DB: db ports: - 5432:5432