diff --git a/traefik/config/traefik.yaml b/traefik/config/traefik.yaml new file mode 100644 index 0000000..b3d4180 --- /dev/null +++ b/traefik/config/traefik.yaml @@ -0,0 +1,46 @@ +--- +global: + checkNewVersion: false + sendAnonymousUsage: false +# Dashboard should be disabled in production +api: + dashboard: true + insecure: true +entryPoints: + http: + address: :80 + http: + redirections: + entryPoint: + to: https + scheme: https + + https: + address: :443 + + traefik: + address: :8080 + +certificatesResolvers: + staging: + acme: + email: you@example.com + storage: /etc/traefik/certs/acme.json + caServer: https://acme-staging-v02.api.letsencrypt.org/directory + httpChallenge: + entryPoint: http + production: + acme: + email: you@example.com + storage: /etc/traefik/certs/acme.json + caServer: https://acme-v02.api.letsencrypt.org/directory + httpChallenge: + entryPoint: http + +providers: + docker: + exposedByDefault: false + file: + directory: /etc/traefik + watch: true + diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml new file mode 100644 index 0000000..b52a465 --- /dev/null +++ b/traefik/docker-compose.yml @@ -0,0 +1,23 @@ +version: '3' + +services: + traefik: + image: traefik:v2.10 + container_name: traefik + command: --api.insecure=true --providers.docker + restart: unless-stopped + ports: + - "80:80" # HTTP + - "443:443" # HTTPS + - "8080:8080" # Web UI (enabled by --api.insecure=true) + volumes: + - ./config:/etc/traefik # Traefik Configuration + - /var/run/docker.sock:/var/run/docker.sock:ro + networks: + - traefik + +networks: + traefik: + name: traefik_default + driver: bridge +