Files
Aether/deploy/systemd/aether-gateway.env.example
T
fawney19 801e16c988 refactor(gateway): 统一 AETHER_GATEWAY_BIND 为 APP_PORT,新增 API Key 前缀配置和启动自举管理员
- 绑定地址固定 0.0.0.0,仅通过 APP_PORT 控制端口,简化 CLI/Docker/systemd/dev.sh/前端代理全链路
- 新增 API_KEY_PREFIX 环境变量,抽取 handlers/shared/api_keys.rs 消除 admin/public 重复逻辑
- 新增 bootstrap_admin.rs,启动时通过 ADMIN_* 环境变量在无管理员时自动创建首个本地管理员
- 前端密码输入改用 type=password,API Key 占位符改为动态前缀
- 删除过时的 pyproject.toml/uv.lock 和旧部署文档
- 更新 .env.example/README 反映新配置项
2026-04-11 17:39:02 +08:00

69 lines
2.7 KiB
Bash

# systemd 的 EnvironmentFile 只适合简单的 KEY=VALUE 行。
# 不要写 export、命令替换、变量引用或其他 shell 语法。
ENVIRONMENT=production
TZ=Asia/Shanghai
RUST_LOG=aether_gateway=info
AETHER_LOG_DESTINATION=both
AETHER_LOG_FORMAT=json
AETHER_LOG_DIR=/var/log/aether
AETHER_LOG_ROTATION=daily
AETHER_LOG_RETENTION_DAYS=7
AETHER_LOG_MAX_FILES=30
# aether-gateway 本体
APP_PORT=8084
AETHER_GATEWAY_DEPLOYMENT_TOPOLOGY=single-node
AETHER_GATEWAY_NODE_ROLE=all
AETHER_GATEWAY_STATIC_DIR=/opt/aether/current/frontend
AETHER_GATEWAY_VIDEO_TASK_TRUTH_SOURCE_MODE=rust-authoritative
API_KEY_PREFIX=sk
# 数据库 / Redis
DB_NAME=aether
DB_USER=postgres
DB_PORT=5432
DB_PASSWORD=change-me-postgres-password
REDIS_PORT=6379
REDIS_PASSWORD=change-me-redis-password
# gateway 直接读取的连接串。请与上面的口令保持一致。
DATABASE_URL=postgresql://postgres:change-me-postgres-password@127.0.0.1:5432/aether
REDIS_URL=redis://:change-me-redis-password@127.0.0.1:6379/0
# 安全相关
JWT_SECRET_KEY=change-this-to-a-secure-random-jwt-secret
ENCRYPTION_KEY=change-this-to-a-secure-random-encryption-key
PAYMENT_CALLBACK_SECRET=change-this-to-a-secure-random-callback-secret
# 可选: 首次启动时按环境变量自举本地管理员。
# 仅在 users 表里还没有活动管理员时生效;已有管理员后会自动跳过。
# ADMIN_EMAIL=admin@example.com
# ADMIN_USERNAME=admin
# ADMIN_PASSWORD=change-this-admin-password
# 可选: 跨域前端源。若要跨域带登录 Cookie,不要写 *,必须显式列出源。
# CORS_ORIGINS=https://app.example.com
# CORS_ALLOW_CREDENTIALS=true
# AUTH_REFRESH_COOKIE_SAMESITE=None
# AUTH_REFRESH_COOKIE_SECURE=true
# 可选: 多实例/分布式并发时启用
# 切到 multi-node 后,启动会拒绝本地 video task 文件状态,并要求 Postgres/Redis 共享后端可用。
# AETHER_GATEWAY_DEPLOYMENT_TOPOLOGY=multi-node
# AETHER_GATEWAY_NODE_ROLE=frontdoor
# 另起一台后台节点时使用:
# AETHER_GATEWAY_NODE_ROLE=background
# AETHER_GATEWAY_INSTANCE_ID=gateway-node-1
# AETHER_TUNNEL_RELAY_BASE_URL=https://gateway-node-1.internal
# AETHER_GATEWAY_DISTRIBUTED_REQUEST_LIMIT=200
# AETHER_GATEWAY_DISTRIBUTED_REQUEST_REDIS_URL=redis://:change-me-redis-password@127.0.0.1:6379/0
# 不单独填写时,会回退复用 REDIS_URL / AETHER_GATEWAY_DATA_REDIS_URL。
# 可选: 仅单机时再启用本地文件状态。未来做集群时不要依赖本地磁盘。
# AETHER_GATEWAY_VIDEO_TASK_STORE_PATH=/var/lib/aether/video-tasks.json
# 单机极简模式:
# 不配置 DATABASE_URL / REDIS_URL 也可以启动,但会退化成“本地文件 + 内存兜底”,
# 管理/认证/账单/统计等需要共享持久层的功能不会完整可用。