- # Launching new servers with SSL certificates
 - 
 - ## Short description
 - 
 - docker compose certbot configurations with Backward compatibility (without certbot container).  
 - Use `docker compose --profile certbot up` to use this features.
 - 
 - ## The simplest way for launching new servers with SSL certificates
 - 
 - 1. Get letsencrypt certs  
 -    set `.env` values
 -    ```properties
 -    NGINX_SSL_CERT_FILENAME=fullchain.pem
 -    NGINX_SSL_CERT_KEY_FILENAME=privkey.pem
 -    NGINX_ENABLE_CERTBOT_CHALLENGE=true
 -    CERTBOT_DOMAIN=your_domain.com
 -    CERTBOT_EMAIL=example@your_domain.com
 -    ```
 -    execute command:
 -    ```shell
 -    docker network prune
 -    docker compose --profile certbot up --force-recreate -d
 -    ```
 -    then after the containers launched:
 -    ```shell
 -    docker compose exec -it certbot /bin/sh /update-cert.sh
 -    ```
 - 2. Edit `.env` file and `docker compose --profile certbot up` again.  
 -    set `.env` value additionally
 -    ```properties
 -    NGINX_HTTPS_ENABLED=true
 -    ```
 -    execute command:
 -    ```shell
 -    docker compose --profile certbot up -d --no-deps --force-recreate nginx
 -    ```
 -    Then you can access your serve with HTTPS.  
 -    [https://your_domain.com](https://your_domain.com)
 - 
 - ## SSL certificates renewal
 - 
 - For SSL certificates renewal, execute commands below:
 - 
 - ```shell
 - docker compose exec -it certbot /bin/sh /update-cert.sh
 - docker compose exec nginx nginx -s reload
 - ```
 - 
 - ## Options for certbot
 - 
 - `CERTBOT_OPTIONS` key might be helpful for testing. i.e.,
 - 
 - ```properties
 - CERTBOT_OPTIONS=--dry-run
 - ```
 - 
 - To apply changes to `CERTBOT_OPTIONS`, regenerate the certbot container before updating the certificates.
 - 
 - ```shell
 - docker compose --profile certbot up -d --no-deps --force-recreate certbot
 - docker compose exec -it certbot /bin/sh /update-cert.sh
 - ```
 - 
 - Then, reload the nginx container if necessary.
 - 
 - ```shell
 - docker compose exec nginx nginx -s reload
 - ```
 - 
 - ## For legacy servers
 - 
 - To use cert files dir `nginx/ssl` as before, simply launch containers WITHOUT `--profile certbot` option.
 - 
 - ```shell
 - docker compose up -d
 - ```
 
 
  |