-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
168 lines (158 loc) · 4.13 KB
/
docker-compose.yml
File metadata and controls
168 lines (158 loc) · 4.13 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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
services:
# Main application service
app:
build:
context: .
dockerfile: Dockerfile
volumes:
# Mount source code for development (exclude whisper.cpp to avoid locking)
- .:/app:delegated
# Persist node_modules
- node_modules:/app/node_modules
# Mount public directory for input/output files
- ./public:/app/public
ports:
- "3000:3000" # Next.js dev server
- "3001:3001" # Serve for caption test
environment:
- NODE_ENV=development
- PYTHON_PATH=/usr/local/bin/python
stdin_open: true
tty: true
command: npm run dev -- --hostname 0.0.0.0 --port 3000
# Wizard service - interactive wizard for video editing
wizard:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/app:delegated
- node_modules:/app/node_modules
- next_build:/app/.next
- ./public:/app/public
ports:
- "3000:3000" # Camera setup GUI (/camera)
- "3001:3001" # Caption alignment test server
environment:
- PYTHON_PATH=/usr/local/bin/python
stdin_open: true
tty: true
command: npm run video:wizard
# Transcription service
transcribe:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/app:delegated
- node_modules:/app/node_modules
- ./public:/app/public
environment:
- PYTHON_PATH=/usr/local/bin/python
command: npm run transcribe
# Diarization service
diarize:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/app:delegated
- node_modules:/app/node_modules
- ./public:/app/public
environment:
- PYTHON_PATH=/usr/local/bin/python
command: npm run diarize -- --num-speakers 2
# Remotion preview service
remotion:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/app:delegated
- node_modules:/app/node_modules
- ./public:/app/public
ports:
- "8000:8000" # Remotion Studio
environment:
- NODE_ENV=development
stdin_open: true
tty: true
command: npm run remotion
# Camera setup service - face detection + launches /camera GUI
setup-camera:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/app:delegated
- node_modules:/app/node_modules
- ./public:/app/public
ports:
- "3000:3000" # Camera setup GUI (/camera)
environment:
- PYTHON_PATH=/usr/local/bin/python
stdin_open: true
tty: true
command: npm run setup-camera
# Color match service - per-angle colour correction into camera-profiles.json
color-match:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/app:delegated
- node_modules:/app/node_modules
- ./public:/app/public
environment:
- PYTHON_PATH=/usr/local/bin/python
command: npm run color-match
# Hook QA service
hook-qa:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/app:delegated
- node_modules:/app/node_modules
- ./public:/app/public
environment:
- NODE_ENV=development
- PYTHON_PATH=/usr/local/bin/python
command: npm run hook-qa
# Thumbnail generation service — extracts speaker frames + renders Remotion still
thumbnail:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/app:delegated
- node_modules:/app/node_modules
- ./public:/app/public
# Cache rembg U2Net model (~170 MB, downloaded on first run)
- rembg_models:/root/.u2net
environment:
- PYTHON_PATH=/usr/local/bin/python
stdin_open: true
tty: true
command: npm run thumbnail
# Carousel generation service — creates social media carousels from transcripts
carousel:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/app:delegated
- node_modules:/app/node_modules
- ./public:/app/public
- ./input:/app/input
environment:
- PYTHON_PATH=/usr/local/bin/python
- DOCKER_ENV=true
stdin_open: true
tty: true
working_dir: /app
command: npm run carousel:wizard
volumes:
node_modules:
next_build:
rembg_models: