.env.example 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. # Environment variables — secrets and endpoint URLs only.
  2. # Copy this file to .env and fill in values.
  3. # Model, voice, and other business settings go in config/default.yaml or CLI flags.
  4. #
  5. # In Docker, docker-compose.yml reads this file and substitutes the values below
  6. # into the container's environment — you do NOT need a .env inside the image.
  7. # --- LLM ---
  8. OPENAI_API_KEY=
  9. OPENAI_BASE_URL=
  10. # --- TTS: OpenAI-compatible (default provider) ---
  11. OPENAI_TTS_API_KEY=
  12. OPENAI_TTS_BASE_URL=
  13. # OPENAI_TTS_MODEL=seed-tts-1.1
  14. # TTS retry count on transient failures (network error / 429 / 5xx). Default 3; 0 disables.
  15. # TTS_MAX_RETRIES=3
  16. # --- TTS: Fish Audio ---
  17. FISH_AUDIO_API_KEY=
  18. # --- TTS: MiniMax ---
  19. MINIMAX_API_KEY=
  20. MINIMAX_GROUP_ID=
  21. # --- TTS: ElevenLabs ---
  22. ELEVENLABS_API_KEY=
  23. # --- Output ---
  24. # Unified output directory for CLI / HTTP / WebUI.
  25. # Leave empty to use config/default.yaml `output.dir` (default ./output, i.e. repo root /output).
  26. # In Docker this is forced to /app/output by docker-compose.
  27. # OUTPUT_DIR=/app/output
  28. # Auto-clean cached outputs older than N days (0 disables). Default 30.
  29. # OUTPUT_RETENTION_DAYS=30
  30. # Where the WebUI stores job metadata (jobs.json). Defaults to the OS temp dir
  31. # (/tmp/pipeline-jobs). In Kubernetes point this at a PVC-backed path (e.g.
  32. # /app/jobs) so job history survives pod restarts; otherwise it lives on
  33. # ephemeral container storage and is lost on restart.
  34. # PIPELINE_JOBS_DIR=/app/jobs
  35. # Timezone for the github-trending cover date (首屏 + 开场口播) and the output
  36. # date subfolder, so the two never disagree and never roll over a day early in
  37. # a UTC container. Default Asia/Shanghai. Docker also sets TZ to this value.
  38. # TIMEZONE=Asia/Shanghai
  39. # --- Publish: Alibaba Cloud OSS ---
  40. # When region/bucket + keys are all present, rendered videos are uploaded and a
  41. # resource URL is returned. Leave blank to disable OSS upload.
  42. OSS_REGION=oss-cn-hangzhou
  43. OSS_BUCKET=
  44. OSS_ACCESS_KEY_ID=
  45. OSS_ACCESS_KEY_SECRET=
  46. # OSS_ENDPOINT=
  47. # OSS_PATH=videos/
  48. # OSS_PUBLIC_DOMAIN=
  49. # OSS_SECURE=true
  50. # --- Publish: Feishu (Lark) custom-bot webhook ---
  51. # When set, results / failures are pushed after each job.
  52. FEISHU_WEBHOOK_URL=
  53. # FEISHU_WEBHOOK_SECRET=
  54. # --- Logging ---
  55. # Log level for the pipeline / TTS / publish loggers (debug|info|warn|error).
  56. # Logs are written to stdout/stderr and mirrored into docker compose logs and
  57. # the per-job "日志" panel. Default info.
  58. # LOG_LEVEL=info
  59. # --- Scheduled renders (in-process scheduler) ---
  60. # Override config/default.yaml `schedules` at deploy time without rebuilding.
  61. # JSON array, same shape as the YAML section, e.g.:
  62. # SCHEDULES=[{"cron":"50 7 * * *","template":"github-trending","platform":"bilibili","source":"github-trending","publish":true}]
  63. # SCHEDULER_ENABLED=false # kill switch for the whole scheduler (default: on)
  64. # --- Container DNS ---
  65. # Public resolvers used by the container (the host's resolver can fail to
  66. # resolve some public domains, e.g. open.feishu.cn behind a VPN). Defaults to
  67. # AliDNS / 114DNS. Set to your internal resolver if you need private hostnames.
  68. # DNS_SERVER_1=223.5.5.5
  69. # DNS_SERVER_2=114.114.114.114
  70. # --- Service port (host port mapped to container 3000) ---
  71. PORT=13000