-
Notifications
You must be signed in to change notification settings - Fork 46
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
49 lines (49 loc) · 2.13 KB
/
Copy pathdocker-compose.yml
File metadata and controls
49 lines (49 loc) · 2.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
services:
sparkdash:
build:
context: .
dockerfile: Dockerfile
platforms:
- linux/arm64
container_name: sparkDash
# always: come back after host reboot even if the container was stopped
# before shutdown (unlike unless-stopped, which stays down after a manual stop).
restart: always
# Auto-restart Node when ./server files change (no image rebuild)
command: ["node", "--watch", "server/index.js"]
# Host network so local LLM probes reach loopback-bound servers
# (ds4-server / start.sh default --host 127.0.0.1). Bridge NAT cannot
# reach the host's 127.0.0.1, and LAN-IP probes miss loopback binds.
network_mode: host
privileged: true
# Share host PID namespace so nvidia-smi compute-apps sees GPU processes
# (otherwise local VRAM falls back to minute-old config/gpu-memory.json).
pid: host
volumes:
# Live server code — edits apply after --watch reloads the process
- ./server:/app/server
# Prompt catalog imported by DecodeBench / Showcase (not under ./server)
- ./src/shared:/app/src/shared:ro
# Mount host filesystem for local Spark metrics
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/host/root:ro
# Mount nvidia-smi + driver libs (fallback if nsenter host path fails)
- /usr/bin/nvidia-smi:/usr/bin/nvidia-smi:ro
- /usr/lib/aarch64-linux-gnu/libnvidia-ml.so.1:/usr/lib/aarch64-linux-gnu/libnvidia-ml.so.1:ro
# Config + encrypted secrets (passwords survive restarts)
- ./config:/app/config
# Remote Sparks with SSH *key* auth: OpenSSH inside the container uses
# /root/.ssh (not the host user's ~/.ssh). Uncomment and point at a
# default-named key (id_ed25519 / id_rsa). A custom name like
# id_ed25519_shared must be mounted *as* id_ed25519, or set
# SSH_IDENTITY_FILE to the path inside the container.
# - ${HOME}/.ssh/id_ed25519:/root/.ssh/id_ed25519:ro
environment:
- BIND_HOST=0.0.0.0
- PORT=5555
- LLM_PORT=8888
- NODE_ENV=production
- HOST_PROC_PATH=/host/proc
- HOST_SYS_PATH=/host/sys
- HOST_ROOT_PATH=/host/root