-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
113 lines (101 loc) · 4.05 KB
/
docker-compose.yml
File metadata and controls
113 lines (101 loc) · 4.05 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
services:
# ---------------------------------------------------------------------------
# GROUP 1: STABLE (Production Ready)
# Uses Ubuntu 22.04/24.04 base with proven C++20 tools
# ---------------------------------------------------------------------------
# stable:
# profiles: ["stable"]
# build:
# context: .
# dockerfile: Dockerfile
# args:
# # DeepStream 7.0 is usually based on Ubuntu 22.04, but very stable
# BASE_IMAGE_URL: "nvcr.io/nvidia/deepstream:7.0-triton-multiarch"
# # GCC 12 is the standard stable for C++20
# GCC_VERSION: "${STABLE_GCC_VERSION:-12}"
# # CMake 3.28 is solid
# CMAKE_VERSION: "${STABLE_CMAKE_VERSION:-3.28.3}"
# CCACHE_MAXSIZE: "${CCACHE_MAXSIZE:-20G}"
# # LibTorch 2.2.1 (CUDA 12.1) - Stable
# TORCH_URL: "https://download.pytorch.org/libtorch/cu121/libtorch-cxx11-abi-shared-with-deps-2.2.1%2Bcu121.zip"
# TORCH_SHA256: "${TORCH_SHA256:-}"
# REQUIRE_TORCH_SHA256: "${REQUIRE_TORCH_SHA256:-0}"
# EIGEN_VERSION: "3.4.0"
# SKIP_OS_UPGRADE: "${SKIP_OS_UPGRADE:-0}"
# image: ai-devbox:stable
# container_name: ${COMPOSE_PROJECT_NAME:-ai-devbox}-stable
# gpus: all
# cap_add:
# - SYS_PTRACE
# security_opt:
# - seccomp:unconfined
# environment:
# - NVIDIA_VISIBLE_DEVICES=all
# - CMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL:-1}
# - AI_DEVBOX_BUILD_JOBS=${AI_DEVBOX_BUILD_JOBS:-1}
# - CCACHE_DIR=/root/.ccache
# - CCACHE_MAXSIZE=${CCACHE_MAXSIZE:-20G}
# - CONTAINER_NAME=${COMPOSE_PROJECT_NAME:-ai-devbox}-stable
# - CONTAINER_IMAGE_NAME=ai-devbox:stable
# volumes:
# - ./:/root/project
# - ccache-data:/root/.ccache
# healthcheck:
# test: ["CMD-SHELL", "nvidia-smi >/dev/null 2>&1"]
# interval: 30s
# timeout: 10s
# retries: 3
# start_period: 20s
# command: ["sleep", "infinity"]
# ---------------------------------------------------------------------------
# GROUP 2: Advanced
# Targets Ubuntu 24.04/26.xx context with C++23/26 features
# ---------------------------------------------------------------------------
advanced:
build:
context: .
dockerfile: Dockerfile
args:
# Configurable base image (default: DeepStream; override via ADVANCED_BASE_IMAGE_URL)
BASE_IMAGE_URL: "${ADVANCED_BASE_IMAGE_URL:-nvcr.io/nvidia/deepstream:8.0-triton-multiarch}"
# GCC 14/15 for C++23 and C++26 experimental support
GCC_VERSION: "${ADVANCED_GCC_VERSION:-14}"
# Latest CMake for Module support
CMAKE_VERSION: "${ADVANCED_CMAKE_VERSION:-3.31.0}"
CCACHE_MAXSIZE: "${CCACHE_MAXSIZE:-20G}"
# LibTorch Nightly/Latest (CUDA 12.x or 13.x if available)
# Note: You might need to update this URL to the 'nightly' path
TORCH_URL: "https://download.pytorch.org/libtorch/cu121/libtorch-cxx11-abi-shared-with-deps-2.5.1%2Bcu121.zip"
TORCH_SHA256: "${TORCH_SHA256:-}"
REQUIRE_TORCH_SHA256: "${REQUIRE_TORCH_SHA256:-0}"
EIGEN_VERSION: "5.0.0"
SKIP_OS_UPGRADE: "${SKIP_OS_UPGRADE:-0}"
image: ai-devbox:advanced
container_name: ${COMPOSE_PROJECT_NAME:-ai-devbox}-advanced
gpus: all
restart: unless-stopped
cap_add:
- SYS_PTRACE
security_opt:
- seccomp:unconfined
environment:
- NVIDIA_VISIBLE_DEVICES=all
- CMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL:-1}
- AI_DEVBOX_BUILD_JOBS=${AI_DEVBOX_BUILD_JOBS:-1}
- CCACHE_DIR=/root/.ccache
- CCACHE_MAXSIZE=${CCACHE_MAXSIZE:-20G}
- CONTAINER_NAME=${COMPOSE_PROJECT_NAME:-ai-devbox}-advanced
- CONTAINER_IMAGE_NAME=ai-devbox:advanced
volumes:
- ./:/root/project
- ccache-data:/root/.ccache
healthcheck:
test: ["CMD-SHELL", "nvidia-smi >/dev/null 2>&1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
command: ["sleep", "infinity"]
volumes:
ccache-data:
name: ${COMPOSE_PROJECT_NAME:-ai-devbox}-ccache