Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
101 lines (95 loc) · 2.33 KB
/
Copy pathdocker-compose.yml
File metadata and controls
101 lines (95 loc) · 2.33 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
x-local-storage: &local-storage
AWS_ACCESS_KEY_ID: code4maus-local
AWS_SECRET_ACCESS_KEY: code4maus-local-secret
AWS_REGION: eu-central-1
STORAGE_BUCKET: code4maus-local
STORAGE_ENDPOINT: http://storage:8333
services:
storage:
image: chrislusf/seaweedfs:4.46
command: mini -dir=/data -ip=storage
environment:
<<: *local-storage
ports:
- '127.0.0.1:8333:8333'
volumes:
- storage_data:/data
storage-seed:
image: node:24-bookworm
working_dir: /src
command: yarn storage:seed
environment:
<<: *local-storage
depends_on:
dependencies:
condition: service_completed_successfully
storage:
condition: service_started
volumes:
- .:/src:ro
- node_modules:/src/node_modules:ro
init: true
dependencies:
image: node:24-bookworm
working_dir: /src
command: yarn install --frozen-lockfile
volumes:
- .:/src
- node_modules:/src/node_modules
init: true
frontend:
image: node:24-bookworm
working_dir: /src
command: yarn start
env_file: .env
environment:
API_PROXY_TARGET: http://backend:3000
PROXY_TARGET: http://storage:8333/code4maus-local
PORT: 8601
DOCKER_WATCH: '1'
depends_on:
dependencies:
condition: service_completed_successfully
backend:
condition: service_healthy
ports:
- '127.0.0.1:8601:8601'
volumes:
- .:/src
- node_modules:/src/node_modules
init: true
backend:
image: node:24-bookworm
working_dir: /src
command: yarn start:backend
environment:
<<: *local-storage
STORAGE_ENDPOINT_FRONTEND: http://localhost:8333
BACKEND_HOST: 0.0.0.0
BACKEND_PORT: 3000
depends_on:
dependencies:
condition: service_completed_successfully
storage-seed:
condition: service_completed_successfully
healthcheck:
test:
[
'CMD',
'node',
'-e',
"fetch('http://127.0.0.1:3000/health').then(r => process.exit(r.ok ? 0 : 1)).catch(() => process.exit(1))",
]
interval: 5s
timeout: 3s
retries: 5
start_period: 10s
ports:
- '127.0.0.1:3000:3000'
volumes:
- .:/src
- node_modules:/src/node_modules
init: true
volumes:
node_modules:
storage_data: