Sign inSign up

eilandert/letsencrypt

By eilandert

Updated about 9 hours ago

A simple letsencrypt container (webroot and standalone)

Image
1

100K+

eilandert/letsencrypt repository overview

Let's Encrypt — hardened ACME certificate client Docker image (Alpine)

eilandert/letsencrypt is a tiny, security-hardened ACME client image for issuing and renewing free TLS certificates from Let's Encrypt (and any ACME CA). It is the certificate-automation piece of the deb.myguard.nl container stack, feeding fresh certs to the nginx, angie, postfix and dovecot images.

Why run an ACME client in Docker

  • Automated renewals as a small, single-purpose sidecar — no cron-on-the-host, no certbot sprawl across machines.
  • Shared cert volume — issue once, mount read-only into every service that needs TLS.
  • Hardened, minimal Alpine base — non-root, dropped capabilities, read-only root filesystem. See Docker Hardening for Self-Hosters.

Hardened docker-compose.yml

services:
  acme:
    image: eilandert/letsencrypt:latest
    restart: unless-stopped
    read_only: true
    cap_drop: [ALL]
    security_opt:
      - no-new-privileges:true
    volumes:
      - certs:/etc/letsencrypt          # issued certs (shared, read-only elsewhere)
      - ./acme-webroot:/var/www/acme     # HTTP-01 challenge dir
    environment:
      - [email protected]
      - ACME_DOMAINS=example.com,www.example.com

  web:
    image: eilandert/angie:latest
    depends_on: [acme]
    volumes:
      - certs:/etc/letsencrypt:ro        # consume certs read-only
    ports: ["443:443", "80:80", "443:443/udp"]

volumes:
  certs:

Once you have certs, serve them with the post-quantum-ready TLS stack — see the article below.

Tag summary

Content type

Image

Digest

sha256:7cf635fed

Size

27.1 MB

Last updated

about 9 hours ago

docker pull eilandert/letsencrypt