Users, file manager, image generation, budgets and agent workflow
- User management: local accounts (Argon2) and OpenID Connect, admin/user roles, per-user folders plus admin-shared folders, read-only session sharing, event filtering per user - File manager with CodeMirror editor and git client (status, diff, stage, commit, branches, fetch/pull/push, log, clone/init) - Image generation via fal.ai: generate_image tool and image page - Budgets: monthly limits per provider, provider balances/costs (OpenRouter, Anthropic admin cost report, fal.ai), price discovery - Subagents on other models, background tasks, concurrency limits per host/model/subagent - MCP tools loaded on demand (mcp_search/mcp_call), read-only hints - Permission mode "auto", safe read-only commands always allowed - Persistent message queue with attachments, deletable - Live reasoning incl. <think> tags, activity animations, CSS themes, mobile layout, statistics per user, upload size handling - Docker: named volume for state, localhost-bound port Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f3a2fe3816
commit
49262c612c
70 files changed
+8495
-714
No files matched your search
+19
-10
@@ -1,4 +1,10 @@
|
||||
# CodeCraft – copy .env.example to .env and adjust, then: docker compose up -d --build
|
||||
#
|
||||
# Persistent state lives in the named volume "codecraft-data" (mounted at /data):
|
||||
# /data/config.toml configuration (also editable in the web UI)
|
||||
# /data/codecraft.db sessions, messages, statistics
|
||||
# /data/home home directory of the agent (git config, caches, ...)
|
||||
# Rebuilding or recreating the container keeps all of it.
|
||||
services:
|
||||
codecraft:
|
||||
build: .
|
||||
@@ -7,21 +13,24 @@ services:
|
||||
restart: unless-stopped
|
||||
# Same UID/GID as the owner of your project files.
|
||||
user: "${UID:-1000}:${GID:-1000}"
|
||||
# Bound to localhost by default: expose it through a TLS reverse proxy.
|
||||
# Set BIND_ADDR=0.0.0.0 to publish it on all interfaces.
|
||||
ports:
|
||||
- "${PORT:-8787}:8787"
|
||||
environment:
|
||||
CODECRAFT_TOKEN: ${CODECRAFT_TOKEN:?set CODECRAFT_TOKEN in .env}
|
||||
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
|
||||
GEMINI_API_KEY: ${GEMINI_API_KEY:-}
|
||||
OPENCODE_API_KEY: ${OPENCODE_API_KEY:-}
|
||||
FAL_KEY: ${FAL_KEY:-}
|
||||
OPENROUTER_API_KEY: ${OPENROUTER_API_KEY:-}
|
||||
- "${BIND_ADDR:-127.0.0.1}:${PORT:-8787}:8787"
|
||||
# All variables from .env are available to the config as ${NAME}
|
||||
# (provider keys, MCP tokens, OIDC secret, initial admin).
|
||||
env_file:
|
||||
- path: .env
|
||||
required: false
|
||||
volumes:
|
||||
# Config (config.toml), SQLite database, agent home directory.
|
||||
- ./data:/data
|
||||
- codecraft-data:/data
|
||||
# The projects the agents may work on.
|
||||
- ${WORKSPACE:-./workspace}:/workspace
|
||||
# Reach self-hosted models (Ollama, vLLM, ...) on the host.
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
shm_size: "1gb" # Chromium (craft mode)
|
||||
|
||||
volumes:
|
||||
codecraft-data:
|
||||
name: codecraft-data
|
||||
Reference in new issue
Block a user