skald/compose.yml
Cobb Hayes 346cea515d Public-flip audit: env-driven paths, scrub audit-ticket prefixes, terser README
Lucy bind paths + LAN host pins replaced with env defaults. Repository URLs
→ git.sulkta.com. Audit-changelog scaffolding stripped from inline comments
(technical reasoning preserved). README sheds marketing scaffolding. AI-speak
in load-bearing prompts/SOULs left alone — that IS the product.
2026-05-27 11:42:58 -07:00

42 lines
1.6 KiB
YAML

# Standalone compose stack for skald. Postgres lives inside the
# skald container — single deployable unit until the tool stabilises.
#
# Set in .env (or the environment):
# POSTGRES_PASSWORD=... # required
# CLAWDFORGE_URL=http://...:8800 # if running gen / cleanup / audit
# CLAWDFORGE_TOKEN=cf_...
# SKALD_DATA=./pgdata # optional override; defaults to ./pgdata
# SKALD_SEED=./seed # optional override; defaults to ./seed
#
# To import the first story:
# docker compose exec skald skald import-markdown \
# --path /seed/<story>.md \
# --title "<title>"
name: skald
services:
skald:
build: .
image: skald:latest
container_name: skald
restart: unless-stopped
ports:
- "7780:7780"
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?POSTGRES_PASSWORD is required}
POSTGRES_USER: ${POSTGRES_USER:-skald}
POSTGRES_DB: ${POSTGRES_DB:-skald}
DATABASE_URL: ${DATABASE_URL:-postgresql://skald:${POSTGRES_PASSWORD}@localhost:5432/skald}
CLAWDFORGE_URL: ${CLAWDFORGE_URL:-}
CLAWDFORGE_TOKEN: ${CLAWDFORGE_TOKEN:-}
SKALD_MODEL: ${SKALD_MODEL:-opus}
F5_TTS_URL: ${F5_TTS_URL:-}
KOKORO_URL: ${KOKORO_URL:-}
TORTOISE_URL: ${TORTOISE_URL:-}
RUST_LOG: ${RUST_LOG:-info}
SKALD_LOG_FORMAT: ${SKALD_LOG_FORMAT:-json}
volumes:
# Postgres data — persist across container recreates.
- ${SKALD_DATA:-./pgdata}:/var/lib/postgresql/data
# Markdown corpus to import via `skald import-markdown`.
- ${SKALD_SEED:-./seed}:/seed:ro