services: nginx: image: nginx:alpine container_name: nginx-proxy network_mode: host volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - ./certs:/etc/nginx/certs:ro - ./conf.d:/etc/nginx/conf.d:ro - ./html:/usr/share/nginx/html:ro restart: unless-stopped certbot: image: certbot/certbot:latest container_name: certbot network_mode: host volumes: - ./certs:/etc/letsencrypt - ./html:/var/www/certbot entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'" restart: unless-stopped