-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
86 lines (81 loc) · 3.46 KB
/
docker-compose.dev.yml
File metadata and controls
86 lines (81 loc) · 3.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# docker-compose.dev.yml
# Local development overrides - disables TLS, exposes service ports directly
#
# Usage: docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d
services:
traefik:
image: traefik:v3.6
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./config/traefik/dynamic:/etc/traefik/dynamic:ro
- traefik-logs:/var/log/traefik
command:
- "--api.dashboard=true"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--providers.docker.network=op1-frontend"
- "--providers.file.directory=/etc/traefik/dynamic"
- "--providers.file.watch=true"
- "--entrypoints.web.address=:80"
- "--log.level=DEBUG"
- "--accesslog=true"
- "--accesslog.filepath=/var/log/traefik/access.log"
- "--accesslog.format=json"
- "--ping=true"
ports:
- "80:80"
- "8080:8080" # Traefik dashboard
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik-dashboard.rule=Host(`traefik.localhost`)"
- "traefik.http.routers.traefik-dashboard.entrypoints=web"
- "traefik.http.routers.traefik-dashboard.service=api@internal"
- "traefik.http.routers.traefik-dashboard.tls=false"
- "traefik.http.routers.traefik-dashboard.tls.certresolver="
- "traefik.http.routers.traefik-dashboard.middlewares="
# Override all routers to use HTTP (must clear TLS and middleware labels from base)
n8n:
environment:
- N8N_SECURE_COOKIE=false
# Disable external hooks in dev (bind mount causes macOS Docker -35 errors)
- EXTERNAL_HOOK_FILES=
labels:
- "traefik.enable=true"
- "traefik.http.routers.n8n.rule=Host(`automation.localhost`)"
- "traefik.http.routers.n8n.entrypoints=web"
- "traefik.http.routers.n8n.tls=false"
- "traefik.http.routers.n8n.tls.certresolver="
- "traefik.http.routers.n8n.middlewares="
- "traefik.http.services.n8n.loadbalancer.server.port=5678"
- "traefik.docker.network=op1-frontend"
authentik-server:
environment:
- AUTHENTIK_BOOTSTRAP_TOKEN=dev-bootstrap-token
- AUTHENTIK_HOST=http://auth.localhost
labels:
- "traefik.enable=true"
- "traefik.http.routers.authentik.rule=Host(`auth.localhost`)"
- "traefik.http.routers.authentik.entrypoints=web"
- "traefik.http.routers.authentik.tls=false"
- "traefik.http.routers.authentik.tls.certresolver="
- "traefik.http.services.authentik.loadbalancer.server.port=9000"
- "traefik.docker.network=op1-frontend"
authentik-worker:
environment:
- AUTHENTIK_BOOTSTRAP_TOKEN=dev-bootstrap-token
grafana:
environment:
- GF_SERVER_ROOT_URL=http://monitor.localhost
- GF_AUTH_GENERIC_OAUTH_AUTH_URL=http://auth.localhost/application/o/authorize/
- GF_AUTH_GENERIC_OAUTH_TOKEN_URL=http://authentik-server:9000/application/o/token/
- GF_AUTH_GENERIC_OAUTH_API_URL=http://authentik-server:9000/application/o/userinfo/
- GF_AUTH_GENERIC_OAUTH_REDIRECT_URL=http://monitor.localhost/login/generic_oauth
labels:
- "traefik.enable=true"
- "traefik.http.routers.grafana.rule=Host(`monitor.localhost`)"
- "traefik.http.routers.grafana.entrypoints=web"
- "traefik.http.routers.grafana.tls=false"
- "traefik.http.routers.grafana.tls.certresolver="
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
- "traefik.docker.network=op1-frontend"