-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
83 lines (78 loc) · 3.73 KB
/
docker-compose.yaml
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
version: "3.8"
# Compose file build variables set in .env
services:
supervisor:
platform: linux/amd64
build:
context: ./build
args:
PYTHON_VERSION: ${PYTHON_VERSION:-3.10}
PYTORCH_VERSION: ${PYTORCH_VERSION:-2.5.1}
FLUXGYM_BUILD_REF: ${FLUXGYM_BUILD_REF:-e118480}
IMAGE_BASE: ${IMAGE_BASE:-ghcr.io/ai-dock/python:${PYTHON_VERSION:-3.10}-v2-cuda-12.1.1-base-22.04}
tags:
- "ghcr.io/ai-dock/fluxgym:${IMAGE_TAG:-cuda-12.1.1-base-22.04}"
image: ghcr.io/ai-dock/fluxgym:${IMAGE_TAG:-cuda-12.1.1-base-22.04}
devices:
- "/dev/dri:/dev/dri"
# For AMD GPU
#- "/dev/kfd:/dev/kfd"
volumes:
# Workspace
- ./workspace:${WORKSPACE:-/workspace/}:rshared
# You can share /workspace/storage with other non-WEBUI containers. See README
#- /path/to/common_storage:${WORKSPACE:-/workspace/}storage/:rshared
# Will echo to root-owned authorized_keys file;
# Avoids changing local file owner
- ./config/authorized_keys:/root/.ssh/authorized_keys_mount
- ./config/provisioning/default.sh:/opt/ai-dock/bin/provisioning.sh
ports:
# SSH available on host machine port 2222 to avoid conflict. Change to suit
- ${SSH_PORT_HOST:-2222}:${SSH_PORT_LOCAL:-22}
# Caddy port for service portal
- ${SERVICEPORTAL_PORT_HOST:-1111}:${SERVICEPORTAL_PORT_HOST:-1111}
# FluxGym
- ${FLUXGYM_PORT_HOST:-7860}:${FLUXGYM_PORT_HOST:-7860}
# Tensorboard web interface
- ${TENSOROARD_PORT_HOST:-6006}:${TENSORBOARD_PORT_HOST:-6006}
# Jupyter server
- ${JUPYTER_PORT_HOST:-8888}:${JUPYTER_PORT_HOST:-8888}
# Syncthing
- ${SYNCTHING_UI_PORT_HOST:-8384}:${SYNCTHING_UI_PORT_HOST:-8384}
- ${SYNCTHING_TRANSPORT_PORT_HOST:-22999}:${SYNCTHING_TRANSPORT_PORT_HOST:-22999}
environment:
# Don't enclose values in quotes
- DIRECT_ADDRESS=${DIRECT_ADDRESS:-127.0.0.1}
- DIRECT_ADDRESS_GET_WAN=${DIRECT_ADDRESS_GET_WAN:-false}
- WORKSPACE=${WORKSPACE:-/workspace}
- WORKSPACE_SYNC=${WORKSPACE_SYNC:-false}
- CF_TUNNEL_TOKEN=${CF_TUNNEL_TOKEN:-}
- CF_QUICK_TUNNELS=${CF_QUICK_TUNNELS:-true}
- WEB_ENABLE_AUTH=${WEB_ENABLE_AUTH:-true}
- WEB_ENABLE_HTTPS=${WEB_ENABLE_HTTPS:-false}
- WEB_USER=${WEB_USER:-user}
- WEB_PASSWORD=${WEB_PASSWORD:-password}
- SSH_PORT_HOST=${SSH_PORT_HOST:-2222}
- SSH_PORT_LOCAL=${SSH_PORT_LOCAL:-22}
- SERVICEPORTAL_PORT_HOST=${SERVICEPORTAL_PORT_HOST:-1111}
- SERVICEPORTAL_METRICS_PORT=${SERVICEPORTAL_METRICS_PORT:-21111}
- SERVICEPORTAL_URL=${SERVICEPORTAL_URL:-}
- FLUXGYM_BRANCH=${FLUXGYM_BRANCH:-}
- FLUXGYM_ARGS=${FLUXGYM_ARGS:-}
- FLUXGYM_PORT_HOST=${FLUXGYM_PORT_HOST:-7860}
- FLUXGYM_PORT_LOCAL=${FLUXGYM_PORT_LOCAL:-17860}
- FLUXGYM_METRICS_PORT=${FLUXGYM_METRICS_PORT:-27860}
- FLUXGYM_URL=${FLUXGYM_URL:-}
- JUPYTER_PORT_HOST=${JUPYTER_PORT_HOST:-8888}
- JUPYTER_METRICS_PORT=${JUPYTER_METRICS_PORT:-28888}
- JUPYTER_URL=${JUPYTER_URL:-}
- SERVERLESS=${SERVERLESS:-false}
- SYNCTHING_UI_PORT_HOST=${SYNCTHING_UI_PORT_HOST:-8384}
- SYNCTHING_TRANSPORT_PORT_HOST=${SYNCTHING_TRANSPORT_PORT_HOST:-22999}
- SYNCTHING_URL=${SYNCTHING_URL:-}
- TENSORBOARD_ARGS=${TENSORBOARD_ARGS:-"--logdir /opt/fluxgym/logs"}
- TENSORBOARD_PORT_HOST=${TENSORBOARD_PORT_HOST:-6006}
- TENSORBOARD_PORT_LOCAL=${TENSORBOARD_PORT_LOCAL:-16006}
- TENSORBOARD_METRICS_PORT=${TENSORBOARD_METRICS_PORT:-26006}
- TENSORBOARD_URL=${TENSORBOARD_URL:-}
#- PROVISIONING_SCRIPT=${PROVISIONING_SCRIPT:-}