Skip to content

Docker compose pour reverse proxy docker nginx + certbot

################################################
# Nginx : reverse-proxy, gère ports 80 et 443  #
################################################
nginx:
  image: nginx:alpine
  container_name: reverse-proxy
  restart: always
  ports:
    - "80:80"    # HTTP
    - "443:443"  # HTTPS
  volumes:
    # On utilise les certificats générés par Certbot
    - certbot-etc:/etc/letsencrypt:ro
    # Optionnel, si on fait la validation HTTP-01 via webroot
    - certbot-www:/var/www/certbot:ro
    # On monte notre configuration Nginx
    - ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
  networks:
    - proxy-tier

################################################
# Certbot : gère la génération/renouvellement  #
################################################
certbot:
  image: certbot/certbot:latest
  container_name: certbot
  # On le fait tourner en idle
  #entrypoint: /bin/sh
  #command:
  #  - -c
  #  - "trap : TERM INT; sleep 9999999999d"
  networks:
    - proxy-tier
  volumes:
    - certbot-etc:/etc/letsencrypt
    - certbot-www:/var/www/certbot


networks:
  proxy-tier:
    external: true
    name: proxy-tier

volumes:
  certbot-etc: # Chemin sur l'hôte : /var/lib/docker/volumes/certbot-etc
  certbot-www: # ...