version: '3' services: nginx: image: nginx:latest restart: unless-stopped volumes: - ./server/nginx/conf/conf.d:/etc/nginx/conf.d - ./server/nginx/conf/nginx.conf:/etc/nginx/nginx.conf - ./server/nginx/html:/usr/share/nginx/html - ./server/nginx/logs:/var/log/nginx - ./server/certbot/conf:/etc/letsencrypt - ./server/certbot/www:/var/www/certbot ports: - "80:80" - "443:443" command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'" certbot: image: certbot/certbot restart: unless-stopped volumes: - ./server/certbot/conf:/etc/letsencrypt - ./server/certbot/www:/var/www/certbot entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"