-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
85 lines (75 loc) · 3.08 KB
/
docker-compose.yml
File metadata and controls
85 lines (75 loc) · 3.08 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
services:
lora-pilot:
# Replace with your image tag
image: ${LORA_PILOT_IMAGE:-notrius/lora-pilot:latest}
container_name: ${LORA_PILOT_CONTAINER_NAME:-lora-pilot}
restart: unless-stopped
# GPU support - remove if no GPU available
runtime: nvidia
environment:
# GPU configuration
- NVIDIA_VISIBLE_DEVICES=${NVIDIA_VISIBLE_DEVICES:-all}
- NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES:-compute,utility,display}
# Timezone
- TZ=${TZ:-America/New_York}
# Hugging Face token (optional, for private models)
- HF_TOKEN=${HF_TOKEN:-}
# Supervisor admin password (optional)
- SUPERVISOR_ADMIN_PASSWORD=${SUPERVISOR_ADMIN_PASSWORD:-}
# Custom ports (optional - must match ports above)
- PORTAL_PORT=${PORTAL_PORT:-7878}
- JUPYTER_PORT=${JUPYTER_PORT:-8888}
- CODE_SERVER_PORT=${CODE_SERVER_PORT:-8443}
- COMFY_PORT=${COMFY_PORT:-5555}
- KOHYA_PORT=${KOHYA_PORT:-6666}
- INVOKE_PORT=${INVOKE_PORT:-9090}
- DIFFPIPE_PORT=${DIFFPIPE_PORT:-4444}
- AI_TOOLKIT_PORT=${AI_TOOLKIT_PORT:-8675}
- AI_TOOLKIT_DB_PATH=${AI_TOOLKIT_DB_PATH:-/workspace/config/ai-toolkit/aitk_db.db}
- COPILOT_SIDECAR_PORT=${COPILOT_SIDECAR_PORT:-7879}
- COPILOT_SIDECAR_URL=${COPILOT_SIDECAR_URL:-http://127.0.0.1:7879}
- COPILOT_GITHUB_TOKEN=${COPILOT_GITHUB_TOKEN:-}
- COPILOT_HOME=${COPILOT_HOME:-/workspace/home/root}
- COPILOT_XDG_CONFIG_HOME=${COPILOT_XDG_CONFIG_HOME:-/workspace/home/root/.config}
- COPILOT_CWD=${COPILOT_CWD:-/workspace}
- COPILOT_TIMEOUT_SECONDS=${COPILOT_TIMEOUT_SECONDS:-1800}
ports:
# ControlPilot - Main web interface
- "${PORTAL_PORT:-7878}:${PORTAL_PORT:-7878}"
# JupyterLab
- "${JUPYTER_PORT:-8888}:${JUPYTER_PORT:-8888}"
# VS Code Server
- "${CODE_SERVER_PORT:-8443}:${CODE_SERVER_PORT:-8443}"
# ComfyUI
- "${COMFY_PORT:-5555}:${COMFY_PORT:-5555}"
# Kohya SS
- "${KOHYA_PORT:-6666}:${KOHYA_PORT:-6666}"
# InvokeAI
- "${INVOKE_PORT:-9090}:${INVOKE_PORT:-9090}"
# Diffusion Pipe + TensorBoard
- "${DIFFPIPE_PORT:-4444}:${DIFFPIPE_PORT:-4444}"
# AI Toolkit UI (Next.js)
- "${AI_TOOLKIT_PORT:-8675}:${AI_TOOLKIT_PORT:-8675}"
volumes:
# Main workspace - persistent storage
- ./workspace:/workspace
# Optional: Mount your own models directory
# - ./my-models:/workspace/models
# Optional: Mount your datasets directory
# - ./my-datasets:/workspace/datasets
# Health check
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:${PORTAL_PORT:-7878}/api/services"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
# Optional: Add labels for organization
labels:
- "com.docker.compose.project=lora-pilot"
- "description=LoRA Pilot - AI training and generation platform"
# Optional: Add networks for better isolation
networks:
default:
name: ${LORA_PILOT_NETWORK_NAME:-lora-pilot-network}
driver: bridge