cai/dockerized/docker-compose.yaml

52 lines
1.1 KiB
YAML

services:
cai:
build:
context: .
dockerfile: Dockerfile
container_name: cai
# Host-Net for scanning (WSL should do that?)
network_mode: host
# nmap raw sockets
privileged: true
# Volumes
volumes:
# .env file
- ./config/.env:/config/.env:ro
# Logs persistence
- ./logs:/opt/cai/logs
# Optional: Docker socket if cai should use docker should it though?
# - /var/run/docker.sock:/var/run/docker.sock
# Env Vars (Fallback, .env wins if present)
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY:-sk-1234}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-}
- OLLAMA_API_BASE=${OLLAMA_API_BASE:-}
- PROMPT_TOOLKIT_NO_CPR=1
- CAI_STREAM=false
# Interactive
stdin_open: true
tty: true
# Restart
restart: unless-stopped
# Resource Limits? Wsl doesnt like those? Mpf.
deploy:
resources:
limits:
cpus: '4'
memory: 6G
reservations:
cpus: '1'
memory: 2G