mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
116 lines
5.5 KiB
Plaintext
116 lines
5.5 KiB
Plaintext
# ==================== 必须配置(启动前) ====================
|
||
# 以下配置项必须在项目启动前设置
|
||
|
||
# 应用端口(默认 8084)
|
||
APP_PORT=8084
|
||
|
||
# Docker Compose 镜像(默认正式版 latest;提前测试可改 rc/beta;也可固定具体版本)
|
||
# 示例:
|
||
# APP_IMAGE=ghcr.io/fawney19/aether:latest
|
||
# APP_IMAGE=ghcr.io/fawney19/aether:rc
|
||
# APP_IMAGE=ghcr.io/fawney19/aether:beta
|
||
# APP_IMAGE=ghcr.io/fawney19/aether:0.7.0-rc.1
|
||
|
||
# API Key 前缀(默认 sk)
|
||
API_KEY_PREFIX=sk
|
||
|
||
# Rust 日志过滤(默认 aether_gateway=info)
|
||
# 示例: aether_gateway=debug,sqlx=warn
|
||
RUST_LOG=aether_gateway=info
|
||
|
||
# CORS 配置(跨域带 Cookie 时不要写 *,必须显式列出前端源)
|
||
# 示例: http://localhost:5173,https://app.example.com
|
||
# CORS_ORIGINS=http://localhost:5173
|
||
# CORS_ALLOW_CREDENTIALS=true
|
||
# 如果前后端跨站并依赖登录刷新 Cookie,还要配合:
|
||
# AUTH_REFRESH_COOKIE_SAMESITE=None
|
||
# AUTH_REFRESH_COOKIE_SECURE=true
|
||
|
||
# 数据库配置
|
||
DB_HOST=localhost
|
||
DB_PORT=5432
|
||
DB_USER=postgres
|
||
DB_NAME=aether
|
||
DB_PASSWORD=aether
|
||
|
||
# Redis 配置
|
||
REDIS_HOST=localhost
|
||
REDIS_PORT=6379
|
||
REDIS_PASSWORD=aether
|
||
|
||
# JWT密钥(使用 ./generate_keys.sh 生成)
|
||
# 用于用户登录 token 签名,更换后所有用户需重新登录
|
||
JWT_SECRET_KEY=change-this-to-a-secure-random-string
|
||
|
||
# 独立加密密钥(用于加密 Provider API Key 等敏感数据)
|
||
# 注意:更换此密钥后需要在管理面板重新配置所有 Provider API Key
|
||
ENCRYPTION_KEY=change-this-to-another-secure-random-string
|
||
|
||
# 启动自举管理员(仅在当前库里还没有活动管理员时生效)
|
||
# 手动部署时取消注释并设置;install.sh 首次生成配置时会提示输入。
|
||
ADMIN_EMAIL=admin@example.com
|
||
ADMIN_USERNAME=admin123456
|
||
# ADMIN_PASSWORD=
|
||
|
||
# ==================== 可选配置(有默认值) ====================
|
||
|
||
# docker compose 下 app 启动前自动执行 pending migration/backfill(默认 true)
|
||
# AETHER_GATEWAY_AUTO_PREPARE_DATABASE=true
|
||
|
||
# 管理后台更新策略:
|
||
# - systemd/二进制部署使用 self:下载 GitHub Release 包,校验 SHA256 后切换 current 并重启。
|
||
# - Docker Compose 使用 docker:后台只提示版本,实际更新请在 compose 目录执行 ./update.sh。
|
||
# - 源码/本地构建使用 manual:手动拉取源码或下载 release。
|
||
# Compose 默认把持久化文件放在 ./datas/{postgres,mysql,sqlite,redis},日志放在 ./logs。
|
||
# 分布式/多节点部署不要使用 ./datas 作为共享数据目录;应使用外部共享 Postgres/MySQL 和 Redis。
|
||
# 多节点不要从管理后台一键更新单个节点,应使用镜像滚动更新、systemd 分批发布或外部编排。
|
||
# AETHER_BASE_DIR=/opt/aether
|
||
# AETHER_UPDATE_STRATEGY=docker
|
||
# AETHER_DOCKER_UPDATE_COMMAND=./update.sh
|
||
# AETHER_GATEWAY_DEPLOYMENT_TOPOLOGY=single-node
|
||
# AETHER_GATEWAY_NODE_ROLE=all
|
||
# Docker Compose 默认把应用日志输出到 stdout/stderr。
|
||
# 如需文件日志,可改成 file 或 both,并把可写目录挂载到 /opt/aether/logs。
|
||
# AETHER_LOG_DESTINATION=stdout
|
||
# AETHER_LOG_FORMAT=pretty
|
||
# AETHER_LOG_DIR=/opt/aether/logs
|
||
# 服务器访问 GitHub 需要代理时可配置;也兼容 UPDATE_PROXY_URL / HTTPS_PROXY / ALL_PROXY / HTTP_PROXY。
|
||
# 如果 Aether 跑在 Docker 容器里,想走宿主机代理时请写 host.docker.internal,不要写 127.0.0.1。
|
||
# AETHER_UPDATE_PROXY_URL=http://host.docker.internal:7890
|
||
# 共享出口触发 GitHub API 限流时可配置只读 token;也兼容 GITHUB_TOKEN / GH_TOKEN。
|
||
# AETHER_UPDATE_GITHUB_TOKEN=
|
||
# 下载超时控制:总超时默认 600 秒;连续无响应/无数据默认 30 秒。
|
||
# AETHER_UPDATE_DOWNLOAD_TIMEOUT_SECS=600
|
||
# AETHER_UPDATE_DOWNLOAD_IDLE_TIMEOUT_SECS=30
|
||
# 本地联调后台在线更新(配合 docker-compose.release-local.yml):
|
||
# 会用当前源码构建 release-layout 测试镜像,并伪装成较旧版本以触发升级入口。
|
||
# AETHER_RELEASE_LOCAL_VERSION=v0.7.0
|
||
# AETHER_RELEASE_LOCAL_PORT=18085
|
||
# LOCAL_RELEASE_APP_IMAGE=aether-app:release-local
|
||
|
||
# PostgreSQL 连接池配置(默认适合单实例/小型部署;高并发可按需调大)
|
||
# 推荐计算方式(单实例):
|
||
# MAX = CPU 核数 × 10(AI 网关偏 IO 等待,可激进些;纯 OLTP 用 × 4)
|
||
# MIN = MAX × 0.2(保留常驻连接应对突发流量,避免冷启动握手开销)
|
||
# 多实例部署时请按 实例数 × MAX 控制总和,PG 端 max_connections 至少为该总和 + 20 余量
|
||
# AETHER_GATEWAY_DATA_POSTGRES_MIN_CONNECTIONS=4
|
||
# AETHER_GATEWAY_DATA_POSTGRES_MAX_CONNECTIONS=20
|
||
# AETHER_GATEWAY_DATA_POSTGRES_STATEMENT_CACHE_CAPACITY=100
|
||
# AETHER_GATEWAY_DATA_POSTGRES_ACQUIRE_TIMEOUT_MS=3000
|
||
|
||
# PostgreSQL 性能调优(默认值适合 2核4GB 机器,按实际配置覆盖)
|
||
# 参考:shared_buffers ≈ 可用内存 25%,effective_cache_size ≈ 可用内存 50-75%
|
||
# POSTGRES_SHM_SIZE 控制 Docker 容器 /dev/shm;仪表盘统计等并行查询会使用它。
|
||
# work_mem 是每个连接每个排序操作的内存,不要设太大(并发数 × work_mem 是实际占用)
|
||
# | 系统内存 | shared_buffers | effective_cache_size | work_mem |
|
||
# | 2GB | 256MB | 768MB | 4MB |
|
||
# | 4GB | 1GB | 3GB | 16MB |
|
||
# | 8GB | 2GB | 6GB | 16MB |
|
||
# | 16GB | 4GB | 12GB | 32MB |
|
||
# | 32GB+ | 8GB | 24GB | 32MB |
|
||
# POSTGRES_SHARED_BUFFERS=1GB
|
||
# POSTGRES_EFFECTIVE_CACHE_SIZE=3GB
|
||
# POSTGRES_SHM_SIZE=512mb
|
||
# POSTGRES_WORK_MEM=16MB
|
||
# POSTGRES_MAINTENANCE_WORK_MEM=256MB
|