# Fabled Scribe — Quick Start # # No build required. Pulls the latest pre-built image from the registry. # # Usage: # 1. Download this file # 2. docker compose -f docker-compose.quickstart.yml up -d # 3. Open http://localhost:5000 — the first account registered becomes admin # 4. Go to Settings → General to pull an LLM model (qwen3:8b or llama3.1:8b are good starting points) # # Set SECRET_KEY via environment variable or a .env file alongside this file: # SECRET_KEY=your-random-secret-here services: app: image: git.fabledsword.com/bvandeusen/fabledscribe:latest ports: - "5000:5000" environment: DATABASE_URL: "postgresql+asyncpg://fabled:fabled@db:5432/fabledassistant" SECRET_KEY: "${SECRET_KEY:-change-me-in-production}" OLLAMA_URL: "http://ollama:11434" OLLAMA_MODEL: "${OLLAMA_MODEL:-llama3.1:8b}" LOG_LEVEL: "${LOG_LEVEL:-INFO}" volumes: - app_data:/data depends_on: db: condition: service_healthy ollama: condition: service_healthy restart: unless-stopped healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:5000/api/health')"] interval: 30s timeout: 10s retries: 3 start_period: 30s db: image: postgres:16-alpine volumes: - pgdata:/var/lib/postgresql/data environment: POSTGRES_USER: fabled POSTGRES_PASSWORD: fabled POSTGRES_DB: fabledassistant healthcheck: test: ["CMD-SHELL", "pg_isready -U fabled"] interval: 10s timeout: 5s retries: 5 restart: unless-stopped ollama: image: ollama/ollama volumes: - ollama_models:/root/.ollama environment: OLLAMA_MAX_LOADED_MODELS: "2" OLLAMA_KEEP_ALIVE: "30m" OLLAMA_FLASH_ATTENTION: "1" healthcheck: test: ["CMD-SHELL", "ollama list > /dev/null 2>&1"] interval: 30s timeout: 10s retries: 5 start_period: 15s restart: unless-stopped # Uncomment to enable NVIDIA GPU passthrough (requires nvidia-container-toolkit): # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: all # capabilities: [gpu] volumes: app_data: pgdata: ollama_models: