Files
flynn/docker-compose.yml
T
2026-02-13 22:52:44 -08:00

68 lines
1.8 KiB
YAML

services:
flynn:
build: .
container_name: flynn
restart: unless-stopped
ports:
- "18800:18800"
volumes:
# Persistent data (sessions DB, memory store)
- flynn-data:/data
# Mount your config file
- ./config/default.yaml:/config/config.yaml:ro
environment:
# Required: at least one model provider API key
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
# Optional: additional provider keys
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-}
- GOOGLE_API_KEY=${GOOGLE_API_KEY:-}
# Optional: Telegram integration
- FLYNN_TELEGRAM_TOKEN=${FLYNN_TELEGRAM_TOKEN:-}
# Optional: Discord integration
- DISCORD_BOT_TOKEN=${DISCORD_BOT_TOKEN:-}
# Optional: Gateway auth token
- FLYNN_SERVER_TOKEN=${FLYNN_SERVER_TOKEN:-}
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost:18800/"]
interval: 30s
timeout: 5s
start_period: 15s
retries: 3
depends_on:
whisper-server:
condition: service_healthy
networks:
- flynn-net
# Optional: Whisper server for audio transcription
whisper-server:
image: ghcr.io/ggml-org/whisper.cpp:main
container_name: whisper-server
restart: unless-stopped
ports:
- "18801:8080"
command: >
whisper-server
--model /app/models/ggml-base.en.bin
--host 0.0.0.0
--port 8080
--convert
--language en
--inference-path /v1/audio/transcriptions
volumes:
- ./whisper-models:/app/models:ro
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/"]
interval: 30s
timeout: 5s
start_period: 15s
retries: 3
networks:
- flynn-net
volumes:
flynn-data:
networks:
flynn-net: