- Add /api/prompt/<rid> callback endpoint with dual auth: per-request signed URL token + Bearer API key. - Add HERMES_API_KEY config and runtime key helpers in app.py. - Update admin request page to copy request details + callback URL. - Add API key management to admin settings: regenerate, mask, show-once. - Update .env.example, docker-compose.yml, README, REVIEW docs.
50 lines
1.8 KiB
YAML
50 lines
1.8 KiB
YAML
# docker-compose.yml
|
|
# ==================
|
|
#
|
|
# Portainer stack definition.
|
|
# Builds the image directly from the GitLab repository (main branch).
|
|
#
|
|
# Environment variables are set in Portainer under the stack's
|
|
# Environment variables section. The container uses them directly,
|
|
# so no .env file is required on disk.
|
|
#
|
|
# Required: APP_SECRET_KEY, ADMIN_PASSWORD, SMTP_PASS, PUBLIC_BASE_URL
|
|
# Optional: BOOTH_NAME, HOST_PORT, INTERNAL_PORT, PRICE_PER_VERSION,
|
|
# CURRENCY, MAX_REVISIONS, HERMES_API_KEY, DATABASE, UPLOAD_FOLDER,
|
|
# SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_FROM
|
|
#
|
|
# Named volumes keep the SQLite database and uploaded MP3s persistent
|
|
# across container restarts and redeploys.
|
|
|
|
services:
|
|
booth:
|
|
build:
|
|
context: https://gitlab.hallsworth.ca/yrtria/theme-song-booth.git#main
|
|
container_name: theme-song-booth
|
|
restart: unless-stopped
|
|
environment:
|
|
- APP_SECRET_KEY=${APP_SECRET_KEY}
|
|
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
|
|
- SMTP_HOST=${SMTP_HOST:-mailroot8.namespro.ca}
|
|
- SMTP_PORT=${SMTP_PORT:-465}
|
|
- SMTP_USER=${SMTP_USER:-ai@hallsworth.ca}
|
|
- SMTP_PASS=${SMTP_PASS}
|
|
- SMTP_FROM=${SMTP_FROM:-ai@hallsworth.ca}
|
|
- PUBLIC_BASE_URL=${PUBLIC_BASE_URL}
|
|
- BOOTH_NAME=${BOOTH_NAME:-Trollgorithm Theme Songs}
|
|
- INTERNAL_PORT=${INTERNAL_PORT:-8000}
|
|
- MAX_REVISIONS=${MAX_REVISIONS:-2}
|
|
- HERMES_API_KEY=${HERMES_API_KEY:-}
|
|
- PRICE_PER_VERSION=${PRICE_PER_VERSION:-10.00}
|
|
- CURRENCY=${CURRENCY:-CAD}
|
|
- DATABASE=${DATABASE:-/app/data/booth.db}
|
|
- UPLOAD_FOLDER=${UPLOAD_FOLDER:-/app/uploads}
|
|
ports:
|
|
- "${HOST_PORT:-127.0.0.1:8000}:${INTERNAL_PORT:-8000}"
|
|
volumes:
|
|
- booth-data:/app/data
|
|
- booth-uploads:/app/uploads
|
|
|
|
volumes:
|
|
booth-data:
|
|
booth-uploads:
|