-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
113 lines (106 loc) · 3.35 KB
/
Copy pathdocker-compose.yml
File metadata and controls
113 lines (106 loc) · 3.35 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
name: ai_game_studio
services:
# ==========================================
# THE ORCHESTRATION LAYER
# ==========================================
# 1. Backend: LangGraph + FastAPI API
api_orchestrator:
container_name: game_studio_api
build:
context: ./src
dockerfile: backend/Dockerfile
ports:
- "8000:8000"
volumes:
- ./volumes/db:/db # SHARED DB VOLUME
- ./volumes/projects:/app/projects # SHARED PROJECTS VOLUME
- ./volumes/workflows:/app/workflows # SHARED WORKFLOWS VOLUME
- ./volumes/data:/app/data # SHARED DATA VOLUME (opengameart_music.csv)
- ./src/backend:/app # Mount code for live-reload during dev
- ./src/shared:/app/shared # Mount shared code for live-reload during dev
- ./src/frontend/phaser:/app/static/phaser
- //var/run/docker.sock:/var/run/docker.sock # Mount Docker socket
environment:
- DATABASE_URL=sqlite:////db/studio.db
- LLAMACPP_LLM_URL=http://game_studio_llamacpp:8090 # game_studio_llamacpp created programmatically by backend code when needed, so not defined in compose file
- LLAMACPP_LLM_PORT=8090
- LLAMACPP_LLM_MODEL_PATH_SRC=${LLM_MODELS_PATH}
- LLAMACPP_LLM_MODEL_PATH_DEST=/usr/local/ai/models
- COMFYUI_URL=http://game_studio_comfyui:8188
- AUDIO_URL=http://game_studio_audio:8091
- MUSIC_CSV_PATH=/app/data/opengameart_music.csv
- DOCKER_PROJECT_NAME=ai_game_studio
- DOCKER_NETWORK=game_studio_network
networks:
- studio_network
# 2. Frontend: Streamlit UI
studio_ui:
container_name: game_studio_ui
build:
context: ./src
dockerfile: frontend/Dockerfile
ports:
- "8501:8501"
volumes:
- ./volumes/projects:/app/projects
- ./src/frontend:/app
- ./src/shared:/app/shared
environment:
- API_URL=http://game_studio_api:8000
- PUBLIC_API_URL=http://localhost:8000
depends_on:
- api_orchestrator
networks:
- studio_network
# ==========================================
# THE AI WORKERS
# ==========================================
# 3. GFX ENGINE
comfyui:
build: ./src/comfyui
container_name: game_studio_comfyui
restart: "no"
ports:
- "8188:8188"
volumes:
- ${COMFYUI_MODELS_PATH}:/app/models
- ./volumes/output/graphics:/app/output
- ./volumes/custom_nodes:/app/custom_nodes
- ./volumes/workflows:/app/user/default/workflows
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
networks:
- studio_network
# 4. AUDIO ENGINE
audio_engine:
build: ./src/voxcpm
container_name: game_studio_audio
profiles: ["worker"]
restart: "no"
ports:
- "8091:8091"
volumes:
- ./volumes/projects:/app/projects
- ./volumes/tts_models:/root/.cache/huggingface
- ./src/voxcpm:/app
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
networks:
- studio_network
# ==========================================
# EXPLICIT CUSTOM NETWORK
# ==========================================
networks:
studio_network:
driver: bridge
name: game_studio_network