ARIA-AGENT/docker-compose.yml

69 lines
2.3 KiB
YAML

services:
# ─── Claude Max API Proxy ───────────────────────────────
proxy:
image: node:22-alpine
container_name: aria-proxy
command: sh -c "npm install -g claude-max-api-proxy && claude-max-api-proxy"
volumes:
- ~/.config/claude:/root/.config/claude:ro # Claude CLI Auth
restart: unless-stopped
networks:
- aria-net
# ─── OpenClaw (ARIA Gehirn) ─────────────────────────────
aria:
image: ghcr.io/openclaw/openclaw:latest
container_name: aria-core
privileged: true # ARIAs Wohnung — sie hat die Schlüssel
depends_on:
- proxy
environment:
- CANVAS_HOST=127.0.0.1
- AUTH_TOKEN=${ARIA_AUTH_TOKEN}
- OPENAI_API_KEY=not-needed
- OPENAI_BASE_URL=http://proxy:3456/v1
- DEFAULT_MODEL=openai/claude-sonnet-4-6
- RATE_LIMIT_PER_USER=30
- DISPLAY=:0
volumes:
- ./aria-data/brain:/workspace/memory # Gedächtnis
- ./aria-data/skills:/workspace/skills # Skills
- ./aria-data/config/AGENT.md:/workspace/AGENT.md
- ./aria-data/config/USER.md:/workspace/USER.md
- ./aria-data/config/openclaw.env:/workspace/.env
- /tmp/.X11-unix:/tmp/.X11-unix
- /var/run/docker.sock:/var/run/docker.sock # VM von innen verwalten
restart: unless-stopped
networks:
- aria-net
# ─── ARIA Voice Bridge ──────────────────────────────────
bridge:
build: ./bridge
container_name: aria-bridge
depends_on:
- aria
volumes:
- ./aria-data/voices:/voices:ro # TTS Stimmen
- ./aria-data/config/aria.env:/config/aria.env
# Audio-Zugriff
- /run/user/1000/pulse:/run/user/1000/pulse
- /dev/snd:/dev/snd
devices:
- /dev/snd
environment:
- PULSE_SERVER=unix:/run/user/1000/pulse/native
- RVS_HOST=${RVS_HOST:-}
- RVS_PORT=${RVS_PORT:-443}
- RVS_TLS=${RVS_TLS:-true}
- RVS_TLS_FALLBACK=${RVS_TLS_FALLBACK:-true}
- RVS_TOKEN=${RVS_TOKEN:-}
restart: unless-stopped
networks:
- aria-net
networks:
aria-net:
driver: bridge