All Projects → bubelov → traefik-letsencrypt-compose

bubelov / traefik-letsencrypt-compose

Licence: MIT License
Basic Traefik configuration which includes automatic Let’s Encrypt certificate management and password protected dashboard

Projects that are alternatives of or similar to traefik-letsencrypt-compose

docker-haproxy-certbot
Dockerized HAProxy with Let's Encrypt certificates automatic renewal
Stars: ✭ 28 (-26.32%)
Mutual labels:  letsencrypt, docker-compose, lets-encrypt
self-hosted-services
A core set of privacy-preserving services that can be easily self-hosted via Docker Compose.
Stars: ✭ 123 (+223.68%)
Mutual labels:  letsencrypt, traefik
full-stack-flask-couchdb
Full stack, modern web application generator. Using Flask, CouchDB as database, Docker, Swagger, automatic HTTPS and more.
Stars: ✭ 28 (-26.32%)
Mutual labels:  letsencrypt, traefik
dockerized
🐳 Build once, run anywhere
Stars: ✭ 70 (+84.21%)
Mutual labels:  docker-compose, traefik
docker-ssl-reverse-proxy
Easy-to-use auto-SSL reverse proxy as a Docker container based on Caddy and Let’s Encrypt
Stars: ✭ 22 (-42.11%)
Mutual labels:  letsencrypt, lets-encrypt
openconnect-installer
Automatically set up an Openconnect/Anyconnect VPN server(ocserv) with Let's Encrypt with just one command in CentOS 8.
Stars: ✭ 64 (+68.42%)
Mutual labels:  letsencrypt, lets-encrypt
acme
Go client library implementation for ACME v2 (RFC8555)
Stars: ✭ 77 (+102.63%)
Mutual labels:  letsencrypt, lets-encrypt
Docker Portainer Letsencrypt
Portainer docker container over SSL Certificate using Let's Encrypt automated by our webproxy docker-compose-letsencrypt-nginx-proxy
Stars: ✭ 141 (+271.05%)
Mutual labels:  letsencrypt, docker-compose
traefik-proxy
One-step (secure) configuration for Traefik edge router.
Stars: ✭ 20 (-47.37%)
Mutual labels:  traefik, traefik-v2
plex-traefik
Plex media server with traefik 2 in docker and docker-compose
Stars: ✭ 30 (-21.05%)
Mutual labels:  traefik, traefik-v2
acme-dns-01-cloudflare
Cloudflare DNS for Let's Encrypt / ACME dns-01 challenges with Greenlock.js and ACME.js
Stars: ✭ 13 (-65.79%)
Mutual labels:  letsencrypt, lets-encrypt
docker-nextcloud
Nextcloud Docker image
Stars: ✭ 209 (+450%)
Mutual labels:  letsencrypt, traefik
Mailu
Insular email distribution - mail server as Docker images
Stars: ✭ 3,151 (+8192.11%)
Mutual labels:  letsencrypt, docker-compose
Intranet-Lets-Encrypt-Certification
Guide to setting up a Let's Encrypt SSL certificate for a non-public facing server.
Stars: ✭ 27 (-28.95%)
Mutual labels:  letsencrypt, lets-encrypt
Nginx Proxy Automation
Automated docker nginx proxy integrated with letsencrypt.
Stars: ✭ 2,302 (+5957.89%)
Mutual labels:  letsencrypt, docker-compose
traefik-private-plugins
Automatic patch for Traefik supporting private plugins
Stars: ✭ 21 (-44.74%)
Mutual labels:  traefik, traefik-v2
Dockerfiles
lots of dockerfiles, based on alpine
Stars: ✭ 69 (+81.58%)
Mutual labels:  letsencrypt, docker-compose
Docker Nginx Gunicorn Flask Letsencrypt
Boilerplate code for setting up Nginx + Gunicorn + Flask + automated LetsEncrypt certificates (https) using docker-compose.
Stars: ✭ 117 (+207.89%)
Mutual labels:  letsencrypt, docker-compose
souin
An HTTP cache system, RFC compliant, compatible with @TykTechnologies, @traefik, @caddyserver, @go-chi, @bnkamalesh, @beego, @devfeel, @labstack, @gofiber, @go-goyave, @gin-gonic, @zalando, @zeromicro, @nginx and @apache
Stars: ✭ 269 (+607.89%)
Mutual labels:  traefik, traefik-v2
workfromhome-with-docker
HTML5 based remote desktop gateway using Apache Guacamole and Traefik Reverse Proxy including AD authentication and 2-FA
Stars: ✭ 42 (+10.53%)
Mutual labels:  letsencrypt, traefik

Traefik + Let’s Encrypt + Docker Compose

This guide shows you how to deploy your containers behind Traefik reverse-proxy. It will obtain and refresh HTTPS certificates automatically and it comes with password-protected Traefik dashboard.

Testing on Your Local Computer

Step 1: Make Sure You Have Required Dependencies

  • Git
  • Docker
  • Docker Compose

Example Installation on Debian-based Systems:

sudo apt install git docker.io docker-compose

Step 2: Clone the Repository

git clone [email protected]:bubelov/traefik-letsencrypt-compose.git
cd traefik-letsencrypt-compose

Step 3: Add Environment Variables

nano .env
DOMAIN=localhost
EMAIL=admin@localhost
CERT_RESOLVER=
TRAEFIK_USER=admin
TRAEFIK_PASSWORD_HASH=$2y$10$zi5n43jq9S63gBqSJwHTH.nCai2vB0SW/ABPGg2jSGmJBVRo0A.ni

Note that you should leave CERT_RESOLVER variable empty if you test your deployment locally. The password is admin and you might want to change it before deploying to production.

Step 4: Set Your Own Password

If you're curious about HTTP basic auth and how it can be used with Traefik, you can read the full post. Here is the excerpt and it assumes you already installed htpasswd:

htpasswd -nBC 10 admin

New password:
Re-type new password:

admin:$2y$10$zi5n43jq9S63gBqSJwHTH.nCai2vB0SW/ABPGg2jSGmJBVRo0A.ni

The output has the following format: username:password_hash. The username doesn't have to be admin, feel free to change it (in the first line).

You can paste the username into the TRAEFIK_USER environment variable. The other part, hashedPassword, should be assigned to TRAEFIK_PASSWORD_HASH. Now you have your own username:password pair.

Step 5: Launch Your Deployment

sudo docker-compose up -d

Step 6: Test Your Deployment

curl --insecure https://localhost/

You can also test it in the browser:

https://localhost/

https://traefik.localhost/

Deploying on a Public Server With Real Domain

Let's say you have a domain example.com and it's DNS records point to your production server. Just repeat the local deployment steps, but don't forget to update DOMAIN, EMAIL and CERT_RESOLVER environment variables. In case of example.com, your .env file should have the following lines:

DOMAIN=example.com
[email protected]
CERT_RESOLVER=letsencrypt

Setting correct email is important because it allows Let’s Encrypt to contact you in case there are any present and future issues with your certificates.

That's it! Let me know if something was unclear to you or if you find any errors.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].