Skip to content

Instantly share code, notes, and snippets.

@LucJosin
Last active November 2, 2025 15:09
Show Gist options
  • Select an option

  • Save LucJosin/9d810a49964c4341ec978e1458d334f8 to your computer and use it in GitHub Desktop.

Select an option

Save LucJosin/9d810a49964c4341ec978e1458d334f8 to your computer and use it in GitHub Desktop.
services:
traefik:
image: traefik:v3.1
container_name: traefik
command:
- "--api.dashboard=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
- "--certificatesresolvers.letsencrypt.acme.email=${LETSENCRYPT_EMAIL}"
- "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./traefik:/letsencrypt"
restart: always
backend:
image: ghcr.io/USERNAME/backend:latest
container_name: backend
env_file: .env
networks:
- internal
labels:
- "traefik.enable=true"
- "traefik.http.routers.backend.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.backend.entrypoints=websecure"
- "traefik.http.routers.backend.tls.certresolver=letsencrypt"
restart: always
db:
image: postgres:18
container_name: postgres
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- internal
restart: always
volumes:
postgres_data:
networks:
internal:
driver: bridge
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment