crafting-table/.env.example
Cobb Hayes b335405c02 Public-flip audit: generalize internal hosts/paths + drop Sulkta-internal refs
URLs, mount paths, and LAN host bindings parameterized via env or relative paths
so the repo stands up from a clean clone anywhere. Drop cross-codebase refs
("mirrors clawdforge's pattern"), Sulkta-Coop client/merchant test fixtures,
and audit-changelog scaffolding from comments. README terser, technical content
preserved.
2026-05-27 11:25:47 -07:00

55 lines
2 KiB
Text

# crafting-table runtime config. Every key is optional; defaults shown.
#
# Copy to `.env` and edit, or pass each key explicitly to `docker compose`.
# SQLite ledger location (created on first boot)
CRAFTING_DB=/data/crafting.db
# Where workspaces (bare clones + per-job worktrees) live
CRAFTING_WORKSPACE=/workspace
# Per-job log files: /data/jobs/<job_id>.log
CRAFTING_LOG_DIR=/data/jobs
# Admin bearer plaintext is written here on first boot, chmod 600
CRAFTING_ADMIN_BEARER=/data/admin-bearer.txt
# Bounded asyncio pool size — how many recipes can run concurrently
CRAFTING_MAX_CONCURRENT=4
# HTTP listen socket
CRAFTING_PORT=8810
CRAFTING_BIND=0.0.0.0
# Default per-job timeout in seconds (recipes can override via timeout_secs)
CRAFTING_DEFAULT_JOB_TIMEOUT=1800
# Override the default LAN allowlist if you want stricter scoping.
# Default: 10/8, 172.16/12, 192.168/16, 127/8, ::1/128
# CRAFTING_LAN_CIDRS=10.0.0.0/8,127.0.0.0/8
# Workspace gc — how often to sweep for stale worktrees, and the age cutoff.
CRAFTING_GC_INTERVAL=3600
CRAFTING_GC_AGE=86400
# --- Email digest (optional, off by default) -------------------------------
# If CRAFTING_SMTP_HOST is empty, the digest scheduler stays disabled and
# the server logs a "digest disabled" warning at startup. Setting it on
# enables the daily 06:00 PT loop.
# CRAFTING_SMTP_HOST=smtp.example.com
# CRAFTING_SMTP_PORT=587
# CRAFTING_SMTP_USER=crafting-table@example.com
# CRAFTING_SMTP_PASS=
# CRAFTING_SMTP_FROM=crafting-table@example.com
# CRAFTING_SMTP_TLS=1
# --- Autonomous patch loop (optional) --------------------------------------
# All four CRAFTING_CLAWDFORGE_* + CRAFTING_GITEA_* must be set for the
# patcher to come up. Missing any → patcher disabled, /jobs/{id}/patches
# returns 503. Runner hook silently no-ops.
# CRAFTING_CLAWDFORGE_URL=http://clawdforge.internal:8800
# CRAFTING_CLAWDFORGE_TOKEN=cf_...
# CRAFTING_GITEA_URL=http://gitea.internal:3000
# CRAFTING_GITEA_TOKEN=
# CRAFTING_PATCHER_MAX_ATTEMPTS=3
# CRAFTING_PATCHER_BRANCH_PREFIX=crafting-table/auto/