-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.starlift.yml
More file actions
88 lines (86 loc) · 2.57 KB
/
Copy pathdocker-compose.starlift.yml
File metadata and controls
88 lines (86 loc) · 2.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
services:
data-init:
build:
context: ./studio/edmg-studio/python_backend
dockerfile: Dockerfile
image: edmg-studio-backend:local
container_name: edmg-studio-data-init
restart: "no"
user: "0:0"
healthcheck:
disable: true
network_mode: none
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
cap_add:
- CHOWN
- DAC_OVERRIDE
entrypoint: ["/bin/sh", "-c"]
command:
- |
set -eu
for runtime_dir in /studio/data /studio/models /studio/cache /studio/logs /studio/external; do
owner="$$(stat -c '%u:%g' "$${runtime_dir}")"
if [ "$${owner}" != "10001:10001" ]; then
chown -R 10001:10001 "$${runtime_dir}"
fi
done
volumes:
- ./starlift-data/data:/studio/data
- ./starlift-data/models:/studio/models
- ./starlift-data/cache:/studio/cache
- ./starlift-data/logs:/studio/logs
- ./starlift-data/external:/studio/external
backend:
build:
context: ./studio/edmg-studio/python_backend
dockerfile: Dockerfile
image: edmg-studio-backend:local
container_name: edmg-studio-backend
restart: unless-stopped
depends_on:
data-init:
condition: service_completed_successfully
expose:
- "7863"
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
EDMG_STUDIO_BACKEND_HOST: 0.0.0.0
EDMG_STUDIO_BACKEND_PORT: 7863
EDMG_AI_MODE: ${EDMG_AI_MODE:-local}
EDMG_AI_PROVIDER: ${EDMG_AI_PROVIDER:-rule_based}
EDMG_AI_OLLAMA_URL: ${EDMG_AI_OLLAMA_URL:-http://host.docker.internal:11434}
EDMG_AI_OLLAMA_MODEL: ${EDMG_AI_OLLAMA_MODEL:-qwen3:8b}
EDMG_COMFYUI_URL: ${EDMG_COMFYUI_URL:-http://host.docker.internal:8188}
EDMG_FFMPEG_PATH: ffmpeg
volumes:
- ./starlift-data/data:/studio/data
- ./starlift-data/models:/studio/models
- ./starlift-data/cache:/studio/cache
- ./starlift-data/logs:/studio/logs
- ./starlift-data/external:/studio/external
healthcheck:
test:
[
"CMD-SHELL",
"python -c \"import urllib.request; urllib.request.urlopen('http://127.0.0.1:7863/health', timeout=5).read()\"",
]
interval: 30s
timeout: 10s
retries: 5
start_period: 90s
web:
build:
context: ./studio/edmg-studio
dockerfile: Dockerfile.starlift
container_name: edmg-studio-web
restart: unless-stopped
depends_on:
backend:
condition: service_healthy
ports:
- "${EDMG_PORT:-8080}:8080"