LetsEncrypt cert renewal script not working via docker compose

Viewed 156

I have a web site running SSL done using lets encrypt. I have written/used a script following this guide but the cert are not renewed automatically. Every 90 days I need to manually run the lets encrypt renewal command to get new certs for my website.

This is how my docker-compose looks like for nginx and certbot

nginx:
  build: nginx-image
  image: km-nginx
  volumes:
    - ./data/certbot/conf:/etc/letsencrypt
    - ./data/certbot/www:/var/www/certbot
  ports:
    - 80:80
    - 443:443
  depends_on:
    - keycloak
    - km-app
  links:
    - keycloak
    - km-app
  environment:
    - PRODUCTION=true
  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:
      - ./data/certbot/conf:/etc/letsencrypt
      - ./data/certbot/www:/var/www/certbot
    entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; sleep 12h & wait $${!}; done;'"
  
0 Answers
Related