68 lines
3.6 KiB
Bash
68 lines
3.6 KiB
Bash
# ============================================================================
|
|
# Krow backend — example environment
|
|
#
|
|
# Copy to .env and fill in. .env is gitignored and must never be committed.
|
|
# Every value below is a placeholder or a safe local default: no real password,
|
|
# API key or token belongs in this file.
|
|
#
|
|
# cp .env.example .env
|
|
# ============================================================================
|
|
|
|
# ── Application ─────────────────────────────────────────────────────────────
|
|
APP_ENV=development
|
|
LOG_LEVEL=info # debug | info | warn | error
|
|
|
|
# ── HTTP server ─────────────────────────────────────────────────────────────
|
|
HTTP_HOST=127.0.0.1
|
|
HTTP_PORT=8080
|
|
HTTP_READ_TIMEOUT=15s
|
|
# An agent run on the deep tier may legally take 2m0s. A 30s write timeout
|
|
# aborted the response mid-run and the proxy reported it as 502.
|
|
HTTP_WRITE_TIMEOUT=2m30s
|
|
HTTP_IDLE_TIMEOUT=60s
|
|
HTTP_SHUTDOWN_TIMEOUT=10s
|
|
|
|
# ── PostgreSQL ──────────────────────────────────────────────────────────────
|
|
# The local development database. DATABASE_NAME is mixed-case and hyphenated,
|
|
# so anything that interpolates it into SQL must quote it: "Krow-force".
|
|
DATABASE_HOST=127.0.0.1
|
|
DATABASE_PORT=5432
|
|
DATABASE_NAME=Krow-force
|
|
DATABASE_USER=postgres
|
|
DATABASE_PASSWORD=
|
|
DATABASE_SCHEMA=public
|
|
|
|
# sslmode: disable is fine for a loopback dev database. APP_ENV=production
|
|
# rejects `disable` at startup — use require or verify-full there.
|
|
DATABASE_SSLMODE=disable
|
|
|
|
# Pool and timeout tuning.
|
|
DATABASE_MAX_OPEN_CONNS=25
|
|
DATABASE_MIN_IDLE_CONNS=2
|
|
DATABASE_CONN_MAX_LIFETIME=30m
|
|
DATABASE_CONNECT_TIMEOUT=5s
|
|
DATABASE_STATEMENT_TIMEOUT=10s
|
|
|
|
# ── Migrations ──────────────────────────────────────────────────────────────
|
|
# Consumed by the Makefile, which builds the golang-migrate URL from the
|
|
# DATABASE_* values above. Keep it pointed at the repository's migrations/.
|
|
MIGRATIONS_DIR=./migrations
|
|
|
|
# ── Seed ────────────────────────────────────────────────────────────────────
|
|
# The demo fixture, generated from the frontend repository's src/api/seed.js.
|
|
# The Makefile passes an absolute path; this default suits running from the
|
|
# repository root.
|
|
SEED_FIXTURE_PATH=./seed/fixtures/seed.json
|
|
|
|
# ── Model gateway ───────────────────────────────────────────────────────────
|
|
ANTHROPIC_API_KEY=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
|
|
|
|
# ── Knowledge layer (retrieval) ─────────────────────────────────────────────
|
|
# A real semantic embedding model, running locally. No credential, no per-token
|
|
# cost, and no tenant text leaving this machine. Change either of the first two
|
|
# and the stored vectors stop being searched — run `make reembed ORG=<slug>`.
|
|
EMBED_PROVIDER=ollama
|
|
EMBED_MODEL=nomic-embed-text
|
|
EMBED_DIMENSIONS=768
|
|
EMBED_BASE_URL=http://localhost:11434
|