server/Traefik/docker-compose.yml

65 lines
1.9 KiB
YAML
Raw Normal View History

version: '3.8'
services:
#traefik (80, 443, 8080)
traefik:
image: 'traefik:latest'
container_name: traefik
volumes:
- ./letsencrypt:/letsencrypt
- /var/run/docker.sock:/var/run/docker.sock
- ./dynamic.yaml:/dynamic.yaml
networks:
## Traefik is sat on every network to allow exposure ##
- traefik
- frontend
- development
- backend
- bitwarden
- services
ports:
## These ports are in format <host-port>:<container-port> ##
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '8080:8080' # Dashboard Port
command:
## General Settings ##
- --api.insecure=true
- --api.dashboard=true
- --api.debug=true
## Log Settings ##
- --log.level=DEBUG # <== Setting the level of the logs from traefik
## Provider Settings ##
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --providers.file.filename=/dynamic.yaml
## Entrypoints Settings ##
- --entrypoints.http.address=:80
- --entrypoints.https.address=:443
## Certificate Settings ##
- --certificatesresolvers.mytlschallenge.acme.tlschallenge=true
- --certificatesresolvers.mytlschallenge.acme.email=contact@luke-else.co.uk
- --certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json
labels:
## Exposing API Dashboard Service ##
- "traefik.enable=true"
- "traefik.http.routers.api.rule=Host(traefik.luke-else.co.uk)"
- "traefik.http.routers.api.service=api@internal"
restart: unless-stopped
## All Networks for child containers - All containers depend on this container being spun up ##
networks:
traefik:
name: traefik
frontend:
name: frontend
development:
name: development
backend:
name: backend
bitwarden:
name: bitwarden
services:
name: services