forked from siteboon/claudecodeui
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
73 lines (60 loc) · 2.54 KB
/
Copy pathdocker-compose.yml
File metadata and controls
73 lines (60 loc) · 2.54 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
services:
claude-code-ui:
build: .
ports:
- "3007:3001"
volumes:
# All CLI auth/config/sessions + CCUI database (~/.cloudcli/auth.db) under one volume
- home-data:/root
# Projects (all projects inside container) — mount path follows WORKSPACES_ROOT
- projects-data:${WORKSPACES_ROOT:-/projects}
environment:
# Server
- PORT=${PORT:-3001}
- NODE_ENV=production
# Restrict project creation to /projects only (override via .env if needed)
- WORKSPACES_ROOT=${WORKSPACES_ROOT:-/projects}
# DATABASE_PATH intentionally not defaulted: server falls back to
# ~/.cloudcli/auth.db = /root/.cloudcli/auth.db, persisted via home-data.
- DATABASE_PATH=${DATABASE_PATH}
# Claude CLI
- CLAUDE_CLI_PATH=${CLAUDE_CLI_PATH:-/usr/local/bin/claude}
- CONTEXT_WINDOW=${CONTEXT_WINDOW:-160000}
# AWS Bedrock
- CLAUDE_CODE_USE_BEDROCK=${CLAUDE_CODE_USE_BEDROCK}
- AWS_REGION=${AWS_REGION:-eu-central-1}
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
# Or use profile (mount ~/.aws)
# - AWS_PROFILE=${AWS_PROFILE:-default}
# Gemini API key — applied to gemini CLI config by docker-entrypoint.sh
- GEMINI_API_KEY=${GEMINI_API_KEY}
# Auto-trust the workspace so non-interactive `gemini --prompt ...` does not bail
- GEMINI_CLI_TRUST_WORKSPACE=${GEMINI_CLI_TRUST_WORKSPACE:-true}
# Codex sandbox: bubblewrap fails inside Docker (seccomp blocks user-ns
# creation). Disable it; the container provides isolation already.
- CODEX_DISABLE_SANDBOX=${CODEX_DISABLE_SANDBOX:-1}
# GitHub CLI token — gh auto-detects GH_TOKEN, no `gh auth login` needed
- GH_TOKEN=${GH_TOKEN}
# Anthropic Models
- ANTHROPIC_DEFAULT_SONNET_MODEL=${ANTHROPIC_DEFAULT_SONNET_MODEL}
- ANTHROPIC_DEFAULT_OPUS_MODEL=${ANTHROPIC_DEFAULT_OPUS_MODEL}
- ANTHROPIC_DEFAULT_HAIKU_MODEL=${ANTHROPIC_DEFAULT_HAIKU_MODEL}
- ANTHROPIC_MODEL=${ANTHROPIC_MODEL}
- ANTHROPIC_SMALL_FAST_MODEL=${ANTHROPIC_SMALL_FAST_MODEL}
# Optional: mount AWS credentials from host
# volumes:
# - ~/.aws:/root/.aws:ro
restart: unless-stopped
# Cloudflare Tunnel for external access
cloudflared:
image: cloudflare/cloudflared:latest
command: tunnel --config /etc/cloudflared/config.yml run
volumes:
- ./cloudflared:/etc/cloudflared:ro
depends_on:
- claude-code-ui
restart: unless-stopped
volumes:
home-data:
projects-data: