version: ‘3’

services:

nginx:

image: nginx:latest

container_name: nginx_proxy

ports:

  • “9443:9443”

volumes:

  • ./nginx.conf:/etc/nginx/nginx.conf

  • /etc/letsencrypt:/etc/letsencrypt # Mount certs

networks:

  • proxy

certbot:

image: certbot/certbot

container_name: certbot

command: certonly –webroot –webroot-path=/var/www/certbot -d www.melborp.solutions

volumes:

  • /etc/letsencrypt:/etc/letsencrypt # Persist certs

  • /var/www/certbot:/var/www/certbot

networks:

  • proxy

app:

image: your_app_image

container_name: your_app

expose:

  • “8080” # Internal port

networks:

  • proxy

networks:

proxy:

external: true