-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
116 lines (111 loc) · 3.57 KB
/
Copy pathdocker-compose.yaml
File metadata and controls
116 lines (111 loc) · 3.57 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
services:
panoctagon_backend:
build:
context: .
dockerfile: Dockerfile-backend
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.panoctagon_backend.rule=Host(`panoctagon.jeffbrennan.dev`) && PathPrefix(`/dagster`)"
- "traefik.http.routers.panoctagon_backend.entrypoints=websecure"
- "traefik.http.routers.panoctagon_backend.tls.certresolver=myresolver"
- "traefik.http.routers.panoctagon_backend.middlewares=panoctagon-auth"
- "traefik.http.middlewares.panoctagon-auth.basicauth.users=${BACKEND_ADMIN}:$$2y$$10$$umYUP5LKzZs.gHLg0hqExOrwdgrNaVmhnCALnjJ90zYoRZvfc1nxe"
- "traefik.http.services.panoctagon_backend.loadbalancer.server.port=3000"
volumes:
- panoctagon_data:/panoctagon/data
- panoctagon_target:/panoctagon/target
networks:
- jb-proxy
healthcheck:
test:
[
"CMD",
"python",
"-c",
"import urllib.request; urllib.request.urlopen('http://localhost:3000/dagster/server_info')",
]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
panoctagon_daemon:
build:
context: .
dockerfile: Dockerfile-backend
restart: unless-stopped
entrypoint: ["sh", "-c", "uv run dbt compile --profiles-dir . && uv run dagster instance concurrency set duckdb_write 1 && uv run dagster-daemon run"]
volumes:
- panoctagon_data:/panoctagon/data
- panoctagon_target:/panoctagon/target
networks:
- jb-proxy
panoctagon_api:
build:
context: .
dockerfile: Dockerfile-api
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.panoctagon_api.rule=Host(`panoctagon.jeffbrennan.dev`) && PathPrefix(`/api`)"
- "traefik.http.routers.panoctagon_api.entrypoints=websecure"
- "traefik.http.routers.panoctagon_api.tls.certresolver=myresolver"
- "traefik.http.routers.panoctagon_api.middlewares=panoctagon-api-strip"
- "traefik.http.middlewares.panoctagon-api-strip.stripprefix.prefixes=/api"
- "traefik.http.services.panoctagon_api.loadbalancer.server.port=8000"
volumes:
- panoctagon_data:/panoctagon/data
networks:
- jb-proxy
healthcheck:
test:
[
"CMD",
"python",
"-c",
"import urllib.request; urllib.request.urlopen('http://localhost:8000/health')",
]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
panoctagon_frontend:
build:
context: .
dockerfile: Dockerfile-frontend
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.panoctagon_frontend.rule=Host(`panoctagon.jeffbrennan.dev`)"
- "traefik.http.routers.panoctagon_frontend.entrypoints=websecure"
- "traefik.http.routers.panoctagon_frontend.tls.certresolver=myresolver"
- "traefik.http.routers.panoctagon_frontend.priority=1"
- "traefik.http.services.panoctagon_frontend.loadbalancer.server.port=8050"
volumes:
- panoctagon_data:/panoctagon/data
networks:
- jb-proxy
healthcheck:
test:
[
"CMD",
"python",
"-c",
"import urllib.request; urllib.request.urlopen('http://localhost:8050/')",
]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
volumes:
panoctagon_data:
driver: local
driver_opts:
type: "none"
o: "bind"
device: "data"
panoctagon_target:
driver: local
networks:
jb-proxy:
external: true