Files
Nat20-Notes/docker-compose.example.yml
KansaiGaijin ef44155b5d
Some checks failed
Build and Push / build (push) Failing after 2m15s
Add CI workflow, full env docs, fix Up button navigation
- .gitea/workflows/build.yaml: Gitea Actions — push latest on main
- docker-compose.example.yml: image-based pull, all NAT20_ vars shown
- settings.py: add NAT20_PLAYER_RECAP_STYLE / CUSTOM_PROMPT overrides
- README.md: full env var reference table with accepted values + rationale
- files.py: fix parent_path to avoid up-button bug; add path traversal guard
- Files.tsx: remove copy/paste/autoPlay, scope to campaign
2026-07-10 22:17:47 +12:00

93 lines
3.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Example Docker Compose — copy to docker-compose.yml and customise.
# Build locally: docker compose build
# Pull pre-built: docker compose pull
# Run: docker compose up -d
services:
backend:
# ── Pre-built image (pull from registry) ──────────────────
image: gitea.kansaigaijin.com/Jamie/Nat20-Notes/backend:latest
# ── Or build locally (uncomment below) ────────────────────
# build:
# context: ./backend
# target: runtime
restart: unless-stopped
environment:
# ── Setup wizard ──────────────────────────────────────
# "false" (or omit) to show the wizard on first run.
# Set to "true" after onboarding completes.
NAT20_ONBOARDING_COMPLETED: "false"
# ── Transcription ─────────────────────────────────────
# Model size: tiny | base | small | medium | large-v3
NAT20_WHISPER_MODEL: medium
# Compute precision: int8 (fastest/least VRAM)
# | float16 (more accurate)
# | float32 (full precision, slowest)
NAT20_WHISPER_COMPUTE_TYPE: int8
# Required for speaker diarization (accept HF gated-model terms first)
# NAT20_HF_TOKEN: "hf_..."
# ── LLM backend (Ollama — local) ──────────────────────
NAT20_OLLAMA_HOST: http://localhost:11434
NAT20_OLLAMA_MODEL: qwen2.5:7b
# ── LLM backend (API — OpenAI-compatible) ─────────────
# Uncomment these to use a hosted API instead of Ollama
# NAT20_API_BASE_URL: https://api.openai.com/v1
# NAT20_API_KEY: "sk-..."
# NAT20_API_MODEL: gpt-4o-mini
# ── Summarization ─────────────────────────────────────
# Target words per chunk. Long transcripts are split into
# chunks, each summarized separately. Lower = more LLM
# calls but finer granularity. Higher = more context per
# chunk but may exceed the model's context window.
# Default 2500 works for most models (8K128K context).
# NAT20_CHUNK_WORD_TARGET: "2500"
# Campaign context injected into every summarization prompt.
# Inline string or path to a file inside the container.
# NAT20_WORLD_CONTEXT: ""
# NAT20_WORLD_CONTEXT_PATH: /data/campaign-context.txt
# Player recap format: story | diary | bullets | custom
# NAT20_PLAYER_RECAP_STYLE: story
# NAT20_PLAYER_RECAP_CUSTOM_PROMPT: ""
volumes:
# ── Data persistence ──────────────────────────────────
# Option A: Named volume (auto-managed, no host path needed)
- app_data:/data
# Option B: Host bind mount (replace with your path)
# - /mnt/media/dnd-sessions:/data
# HuggingFace + Torch model caches (avoid re-downloading)
- hf_cache:/root/.cache/huggingface
- torch_cache:/root/.cache/torch
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
ports:
- "8000:8000"
frontend:
image: gitea.kansaigaijin.com/Jamie/Nat20-Notes/frontend:latest
# build: ./frontend
restart: unless-stopped
depends_on:
- backend
ports:
- "8020:8020"
volumes:
app_data:
hf_cache:
torch_cache: