# 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 after make deps (uncomment below) ──── # build: ./backend restart: unless-stopped environment: # ── Auth ──────────────────────────────────────────────── NAT20_ADMIN_USERNAME: "admin" NAT20_ADMIN_PASSWORD: "admin" # ── Setup wizard ────────────────────────────────────── # "false" (or omit) to show the wizard on first run. # Set to "true" after onboarding completes. NAT20_ONBOARDING_COMPLETED: "false" # Campaign name is set during the setup wizard (step 2). # You can also rename it later in Settings → Campaigns. # ── Transcription ───────────────────────────────────── NAT20_WHISPER_MODEL: medium 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 ───────────────────────────────────── # NAT20_CHUNK_WORD_TARGET: "2500" # NAT20_WORLD_CONTEXT: "" # NAT20_WORLD_CONTEXT_PATH: /data/campaign-context.txt # NAT20_PLAYER_RECAP_STYLE: story # NAT20_PLAYER_RECAP_CUSTOM_PROMPT: "" volumes: - app_data:/data - 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: