-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
105 lines (102 loc) · 4.61 KB
/
Copy pathdocker-compose.dev.yml
File metadata and controls
105 lines (102 loc) · 4.61 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
name: dev
services:
ai-dev:
image: ai-engkit-ai-dev
build:
context: .
dockerfile: Dockerfile
args:
- OH_MY_OPENAGENT_VERSION=${OH_MY_OPENAGENT_VERSION:-4.19.4}
- AI_ENGKIT_VERSION=dev
container_name: ai-engkit-dev
ports:
- "${CHAMBER_DEV_PORT:-8001}:3000"
volumes:
- workspace-dev:/home/devuser/workspace
- opencode-data-dev:/home/devuser/.local/share/opencode
- lean-ctx-data-dev:/home/devuser/.local/share/lean-ctx
- lean-ctx-state-dev:/home/devuser/.local/state/lean-ctx
- lean-ctx-config-dev:/home/devuser/.config/lean-ctx
- opencode-config-dev:/home/devuser/.config/opencode
- omo-config-dev:/home/devuser/.omo
- opencode-cache-dev:/home/devuser/.cache/opencode
- ohmyopencode-cache-dev:/home/devuser/.cache/oh-my-opencode
- openchamber-data-dev:/home/devuser/.config/openchamber
- git-config-dev:/home/devuser/.config/git
- ssh-keys-dev:/home/devuser/.ssh
- gh-config-dev:/home/devuser/.config/gh
- glab-config-dev:/home/devuser/.config/glab-cli
- /var/run/docker.sock:/var/run/docker.sock
env_file:
- path: .env
required: false
environment:
OPENCHAMBER_HOST: ${OPENCHAMBER_HOST:-0.0.0.0}
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stopped
ai-admin:
image: ai-engkit-ai-dev
container_name: ai-engkit-admin-dev
depends_on:
- ai-dev
working_dir: /opt/admin
env_file:
- .env
command:
- sh
- -c
- |
set -e
sudo find /opt/ai-engkit -path /opt/ai-engkit/extensions -prune -o -exec chown devuser:devuser {} +
mkdir -p /opt/ai-engkit/backups
[ -f /opt/ai-engkit/VERSION ] || echo dev > /opt/ai-engkit/VERSION
[ -f /opt/ai-engkit/.env ] || env | grep -v -E '^(HOME|PATH|BUN_|NODE_|npm_|HOSTNAME|PWD|SHLVL|TERM|TZ|LS_COLORS|LESS[ _]|PAGER|EDITOR|LC_|LANG|SHELL|USER|SUDO_|TMPDIR|OLDPWD|_|LOGNAME|PLAYWRIGHT_|DEBIAN_|CLAUDE_)' > /opt/ai-engkit/.env
if [ "$${OPENCODE_PROVIDER+x}" = x ]; then
env_tmp="$$(mktemp /opt/ai-engkit/.env.sync.XXXXXX)"
persisted_provider="$$(sed -n 's/^[[:space:]]*OPENCODE_PROVIDER=//p' /opt/ai-engkit/.env | tail -n 1)"
merged_provider="$$(jq -cn \
--arg persisted "$$persisted_provider" \
--arg compose "$$OPENCODE_PROVIDER" \
'def providers: try fromjson catch {} | if type == "object" then . else {} end; ($$persisted | providers) * ($$compose | providers)')"
grep -vE '^[[:space:]]*OPENCODE_PROVIDER=' /opt/ai-engkit/.env > "$$env_tmp" || true
printf 'OPENCODE_PROVIDER=%s\n' "$$merged_provider" >> "$$env_tmp"
mv "$$env_tmp" /opt/ai-engkit/.env
fi
mkdir -p /opt/ai-engkit/admin-data
mkdir -p /opt/ai-engkit/extensions
[ -f /opt/ai-engkit/compose-upgrade-base.yml ] || : > /opt/ai-engkit/compose-upgrade-base.yml
if [ -d /opt/ai-engkit/provider-state/provider-keys.json ]; then mv /opt/ai-engkit/provider-state/provider-keys.json /opt/ai-engkit/provider-state/provider-keys.json.legacy.$$(date +%s); fi
if [ -f /opt/ai-engkit/provider-state/provider-keys.json ] && [ ! -e /opt/ai-engkit/admin-data/provider-keys.json ]; then mv /opt/ai-engkit/provider-state/provider-keys.json /opt/ai-engkit/admin-data/provider-keys.json; fi
if [ -f /opt/ai-engkit/provider-keys.json ] && [ ! -e /opt/ai-engkit/admin-data/provider-keys.json ]; then mv /opt/ai-engkit/provider-keys.json /opt/ai-engkit/admin-data/provider-keys.json; fi
if [ -d /opt/ai-engkit/provider-keys.json ]; then mv /opt/ai-engkit/provider-keys.json /opt/ai-engkit/provider-keys.json.legacy.$$(date +%s); fi
[ -f /opt/ai-engkit/admin-data/provider-keys.json ] || printf '%s\n' '{"providers":{}}' > /opt/ai-engkit/admin-data/provider-keys.json
bun run /opt/admin/server.ts
ports:
- "${ADMIN_DEV_PORT:-8081}:8080"
volumes:
- admin-data-dev:/opt/ai-engkit
- ./admin-data/upgrade-base.yml:/opt/ai-engkit/compose-upgrade-base.yml:rw
- ./extensions:/opt/ai-engkit/extensions:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- ADMIN_PORT=8080
- ADMIN_PASSWORD=${ADMIN_PASSWORD:-testadmin123}
- AGENT_MODELS_DEBUG=1
restart: unless-stopped
volumes:
admin-data-dev:
workspace-dev:
opencode-data-dev:
lean-ctx-data-dev:
lean-ctx-state-dev:
lean-ctx-config-dev:
opencode-config-dev:
omo-config-dev:
opencode-cache-dev:
ohmyopencode-cache-dev:
openchamber-data-dev:
git-config-dev:
ssh-keys-dev:
gh-config-dev:
glab-config-dev: