-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
145 lines (133 loc) · 3.11 KB
/
docker-compose.yml
File metadata and controls
145 lines (133 loc) · 3.11 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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
services:
api:
build:
dockerfile: Dockerfile.dev
context: ./apps/api
env_file: "./apps/api/.env.dev"
volumes:
- ./apps/api:/app
ports:
- 8080:8080
depends_on:
- postgres
- redis
bat_worker:
build:
dockerfile: cmd/email_worker/Dockerfile
context: ./apps/api
target: dev
env_file: "./apps/api/.env.dev"
volumes:
- ./apps/api:/app
working_dir: /app/cmd/BAT_worker
depends_on:
- redis
email_worker:
build:
dockerfile: cmd/email_worker/Dockerfile
context: ./apps/api
target: dev
env_file: "./apps/api/.env.dev"
volumes:
- ./apps/api:/app
working_dir: /app/cmd/email_worker
depends_on:
- redis
web:
build:
context: ./apps/web
dockerfile: Dockerfile
target: dev
volumes:
- ./apps/web:/app:cached
- /app/node_modules
ports:
- "5173:5173"
environment:
- NODE_ENV=development
depends_on:
- api
asynqmon:
image: hibiken/asynqmon:latest
platform: linux/amd64
ports:
- "6767:6767"
environment:
- REDIS_ADDR=redis:6379
- PORT=6767
depends_on:
- redis
postgres:
image: postgres:17.4
container_name: postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: coredb
ports:
- 5432:5432
attach: false
volumes:
- postgres_data:/var/lib/postgresql/data
redis:
image: redis:8.2.1-alpine
container_name: redis
ports:
- "6379:6379"
healthcheck:
test: ["CMD", "redis-cli", "-p", "6379", "ping"]
interval: 10s
timeout: 5s
retries: 5
start_period: 5s
loki:
image: grafana/loki:3.7.1
container_name: loki
command: "-config.file=/etc/loki/config.yml"
volumes:
- ./monitoring/loki-config.yml:/etc/loki/config.yml
alloy:
image: grafana/alloy:v1.15.0
container_name: alloy
command: run /etc/alloy/config.alloy
volumes:
- ./monitoring/config.alloy:/etc/alloy/config.alloy:ro
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- loki
grafana:
image: grafana/grafana:12.4.2
container_name: grafana
env_file:
- ./apps/api/.env.dev
environment:
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
- GF_AUTH_PROXY_ENABLED=true
- GF_AUTH_PROXY_HEADER_NAME=X-WEBAUTH-USER
- GF_USERS_AUTO_ASSIGN_ORG_ROLE=Admin
- GF_SERVER_ROOT_URL=http://localhost:8080/grafana
- GF_SERVER_SERVE_FROM_SUB_PATH=true
volumes:
- ./monitoring/provisioning:/etc/grafana/provisioning
- grafana_data:/var/lib/grafana
depends_on:
- alloy
- api
# web-devcontainer:
# build:
# context: ./.devcontainer/web
# dockerfile: Dockerfile
# volumes:
# - .:/core
# - /core/apps/web/node_modules
# command: sleep infinity
# api-devcontainer:
# build:
# context: ./.devcontainer/api
# dockerfile: Dockerfile
# volumes:
# - .:/core
# command: sleep infinity
volumes:
postgres_data:
grafana_data: