added traefik

master
meftimes 2023-08-06 11:15:39 -04:00
parent 5250e179ed
commit d1c4cb462a
5 changed files with 100 additions and 0 deletions

2
traefik/.env 100644
View File

@ -0,0 +1,2 @@
CF_API_EMAIL=email_goes_here
CF_DNS_API_TOKEN=token_goes_here

View File

View File

@ -0,0 +1,22 @@
http:
middlewares:
authelia:
forwardAuth:
address: "http://authelia:9091/api/verify?rd=https://authelia.meftimes.com"
user-auth:
basicAuth:
users:
- "admin:{SHA}XIaqHrLff+jBeOIUMhwcdUxMxjA="
tls:
options:
default:
minVersion: "VersionTLS12"
cipherSuites:
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_256_GCM_SHA384
- TLS_RSA_WITH_AES_256_CBC_SHA

View File

@ -0,0 +1,41 @@
api:
dashboard: true
entryPoints:
web:
address: :80
http:
redirections:
entryPoint:
to: websecure
scheme: https
permanent: true
websecure:
address: :443
http:
tls:
certResolver: letsencrypt
domains:
- main: meftimes.com
sans:
- "*.meftimes.com"
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
watch: true
network: proxy
#defaultRule: "Host(`{{ index .Labels \"com.docker.compose.service\"}}.meftimes.com`)" # would be nice to get working
file:
filename: /config/dynamic.yaml
certificatesResolvers:
letsencrypt:
acme:
email: all.other@slmail.me
storage: acme.json
keyType: EC384
dnsChallenge:
provider: cloudflare

View File

@ -0,0 +1,35 @@
version: "3"
services:
traefik:
image: traefik:latest
container_name: traefik
restart: unless-stopped
env_file:
- .env
security_opt:
- no-new-privileges:true
networks:
- proxy
- monitoring
ports:
- 80:80
- 443:443
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./config/traefik.yaml:/traefik.yml:ro
- ./config/acme.json:/acme.json
- ./config:/config
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik.entrypoints=websecure"
- "traefik.http.routers.traefik.rule=Host(`traefik.meftimes.com`)"
- "traefik.http.routers.traefik.middlewares=authelia@docker"
- "traefik.http.routers.traefik.service=api@internal"
networks:
proxy:
external: true
monitoring:
external: true