deploy-with-https.mo

Control points

Prerequisites

Steps (~15 min)

Install the nginx-proxy companion (~5 min)

  • Connect to your server ssh user@your.domain

  • Clone the nginx-proxy-companion project on the server at the root of the server.

  • Create a .env file

  • Set the NGINX_FILES_PATH=/srv/nginx/data in the .env

    • vim ./.env

    • line 41 replace NGINX_FILES_PATH=/srv/nginx/data(or a different path if you prefer)

Configure your project to use the companion (~5 min)

  • Remove the binding 80 port command, but expose it

  • Configure the app to use the network created by the companion (webproxy is the default name)

  • In your project set 3 environment variable: VIRTUAL_HOST, LETSENCRYPT_HOST, LETSENCRYPT_EMAIL. The email will be used by Letsencrypt to notify you if the certificate expire.There are 2 ways:

    • In the docker-compose file

    • In your prod.env file that is read by your Dockerfile.

RECOMENDED WAY

Update the .env file of your web-app docker

  • In the ./env/prod.env add the following:

Make the switch (~5 min)

  • Cut your app docker:

  • Start the companion (go to the companion directory):

  • Launch your project docker again:

Last updated