57 lines
2.0 KiB
YAML
57 lines
2.0 KiB
YAML
services:
|
|
server:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: server-runtime
|
|
environment:
|
|
HOST: 0.0.0.0
|
|
PORT: 8787
|
|
DATABASE_URL: file:/data/dev.db
|
|
# Set ADMIN_TOKEN only when you actually want token auth enabled.
|
|
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
|
|
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
|
|
XAI_API_KEY: ${XAI_API_KEY:-}
|
|
HERMES_AGENT_API_BASE_URL: ${HERMES_AGENT_API_BASE_URL:-http://127.0.0.1:8642/v1}
|
|
HERMES_AGENT_API_KEY: ${HERMES_AGENT_API_KEY:-}
|
|
HERMES_AGENT_MODEL: ${HERMES_AGENT_MODEL:-}
|
|
EXA_API_KEY: ${EXA_API_KEY:-}
|
|
CHAT_WEB_SEARCH_ENGINE: ${CHAT_WEB_SEARCH_ENGINE:-exa}
|
|
SEARXNG_BASE_URL: ${SEARXNG_BASE_URL:-}
|
|
CHAT_MAX_TOOL_ROUNDS: ${CHAT_MAX_TOOL_ROUNDS:-100}
|
|
CHAT_CODEX_TOOL_ENABLED: ${CHAT_CODEX_TOOL_ENABLED:-false}
|
|
CHAT_CODEX_REMOTE_HOST: ${CHAT_CODEX_REMOTE_HOST:-}
|
|
CHAT_CODEX_REMOTE_USER: ${CHAT_CODEX_REMOTE_USER:-}
|
|
CHAT_CODEX_REMOTE_PORT: ${CHAT_CODEX_REMOTE_PORT:-22}
|
|
CHAT_CODEX_REMOTE_WORKDIR: ${CHAT_CODEX_REMOTE_WORKDIR:-/workspace/sybil-codex}
|
|
# Prefer mounting a private key read-only and pointing CHAT_CODEX_SSH_KEY_PATH at it.
|
|
CHAT_CODEX_SSH_KEY_PATH: ${CHAT_CODEX_SSH_KEY_PATH:-}
|
|
CHAT_CODEX_SSH_PRIVATE_KEY_B64: ${CHAT_CODEX_SSH_PRIVATE_KEY_B64:-}
|
|
CHAT_CODEX_EXEC_TIMEOUT_MS: ${CHAT_CODEX_EXEC_TIMEOUT_MS:-600000}
|
|
CHAT_SHELL_TOOL_ENABLED: ${CHAT_SHELL_TOOL_ENABLED:-false}
|
|
CHAT_SHELL_EXEC_TIMEOUT_MS: ${CHAT_SHELL_EXEC_TIMEOUT_MS:-120000}
|
|
volumes:
|
|
- sybil_data:/data
|
|
# Example key mount for codex_exec:
|
|
# - ./secrets/devbox_id_ed25519:/run/secrets/codex_ssh_key:ro
|
|
expose:
|
|
- "8787"
|
|
restart: unless-stopped
|
|
|
|
web:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: web-runtime
|
|
args:
|
|
VITE_API_BASE_URL: ${VITE_API_BASE_URL:-/api}
|
|
VITE_ADMIN_TOKEN: ${VITE_ADMIN_TOKEN:-}
|
|
depends_on:
|
|
- server
|
|
ports:
|
|
- "5173:80"
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
sybil_data:
|