services: scriba: build: . restart: unless-stopped env_file: .env environment: LOG_LEVEL: ${LOG_LEVEL:-trace} # Host mount lands at /vault; the app always reads /vault inside the container. SCRIBA_VAULT_HOST_PATH: /vault # Voice goes to Groq first and to the parakeet sidecar (always up, below) when Groq # fails or no key is set. GROQ_API_KEY: ${GROQ_API_KEY:-} ports: - "${PORT:-8080}:${PORT:-8080}" volumes: - ./data:/data - ${SCRIBA_VAULT_HOST_PATH:-./vault}:/vault:ro parakeet: image: ghcr.io/achetronic/parakeet:latest restart: unless-stopped expose: - "5092"