Skip to Content
文档环境变量

Revornix 环境变量使用指南

本文帮助你在部署或自定义 Revornix 时快速理解每一个环境变量的作用与所在服务。除非特别说明,示例值均来自仓库根目录的 .env

所有密钥类变量请存放在安全的密钥管理工具中,不要提交到版本库。

🧭 常见放置位置:根目录 .env 供 Docker Compose 使用;api/.envcelery-worker/.env 便于本地单独运行 API 或 Worker。


1. 核心安全与鉴权

变量示例值说明主要作用范围
OAUTH_SECRET_KEYd2cd0e...ce6f9用于用户登录态与 JWT 加密,必须在所有后端与 Worker 中保持一致api/config/oauth2.py:4, celery-worker/config/oauth2.py:4, docker-compose.yaml:62
APIKEY_ENCRYPT_KEY623f8bce26d03...Base64 编码的 32 字节密钥,用于加密存储第三方模型/API 密钥api/common/encrypt.py:5, celery-worker/common/encrypt.py:5
ENV(可选)dev设置为 dev 时,服务会自动加载本地 .env 并开启更详细日志api/main.py:3, celery-worker/common/celery/app.py:3

2. 数据与队列服务

变量示例值说明主要作用范围
POSTGRES_USERrevornixPostgreSQL 用户名api/common/sql.py:3, docker-compose.yaml:176
POSTGRES_PASSWORD12345678PostgreSQL 密码同上
POSTGRES_DBrevornix主数据库名称同上
POSTGRES_DB_URLpostgres数据库主机地址(Docker 模式)或 localhost(本地运行)api/common/sql.py:6, alembic/env.py:21
REDIS_URLredisRedis 主机地址;用作缓存、会话、任务队列 Brokerapi/common/redis.py:5, celery-worker/common/celery/app.py:35
REDIS_PORT6379Redis 端口同上
MILVUS_CLUSTER_ENDPOINThttp://milvus-standalone:19530Milvus 集群访问地址api/data/milvus/base.py:9, celery-worker/config/milvus.py:3
MILVUS_TOKENroot:Milvus访问 Milvus 的凭证同上
NEO4J_URIbolt://localhost:7687Neo4j 图数据库节点api/data/neo4j/base.py:8, celery-worker/data/neo4j/base.py:8
NEO4J_USERneo4jNeo4j 登录用户同上
NEO4J_PASS12345678Neo4j 密码同上
HF_ENDPOINThttps://hf-mirror.comHuggingFace Hub 请求入口(可配自建镜像)docker-compose.yaml:68, docker-compose.yaml:114

3. 文件系统与对象存储

变量示例值说明主要作用范围
FILE_SYSTEM_USER_NAMErevornixMinIO/Built-in 文件系统账号api/config/file_system.py:3, celery-worker/config/file_system.py:3
FILE_SYSTEM_PASSWORD12345678MinIO/Built-in 文件系统密码同上
FILE_SYSTEM_SERVER_PUBLIC_URLhttp://localhost/api/file-service前端访问文件的公开入口(通常经过 Nginx)api/protocol/remote_file_service.py:25, nginx/nginx.conf:53
FILE_SYSTEM_SERVER_PRIVATE_URLhttp://file-backend:9010后端/Worker 在容器网络中访问文件的地址同上

4. Milvus 依赖组件(Etcd / MinIO)

仅在使用 Docker Compose 部署 Milvus 时需要配置:

变量示例值说明主要作用范围
ETCD_ENDPOINTShttp://etcd:2379Milvus 所依赖的 Etcd 服务地址docker-compose.yaml:150
ETCD_AUTO_COMPACTION_MODErevisionEtcd 自动压缩模式同上
ETCD_AUTO_COMPACTION_RETENTION1000Etcd 保留修订数同上
ETCD_QUOTA_BACKEND_BYTES4294967296Etcd 存储配额同上
ETCD_SNAPSHOT_COUNT50000Etcd 快照阈值同上
MILVUS_MINIO_USER_NAMEminioadminMilvus 内部 MinIO 账号docker-compose.yaml:122
MILVUS_MINIO_PASSWORDminioadminMilvus 内部 MinIO 密码同上
NEO4J_AUTHneo4j/12345678Docker 模式下 Neo4j 容器的初始凭证docker-compose.yaml:163

5. 第三方登录与通知

变量示例值说明主要作用范围
GOOGLE_CLIENT_ID4173...apps.googleusercontent.comGoogle OAuth 应用 IDapi/router/user.py:399, api/router/user.py:454
GOOGLE_CLIENT_SECRETGOCSPX-...Google OAuth 密钥同上
GITHUB_CLIENT_IDIv23liJSg8...GitHub OAuth 应用 IDapi/router/user.py:486, api/router/user.py:541
GITHUB_CLIENT_SECRETa752f8c8...GitHub OAuth 密钥同上
WECHAT_APP_IDwx8bdsa4...微信公众平台/开放平台应用 IDapi/router/user.py:680, api/router/user.py:740
WECHAT_APP_SECRETbcbaf3...8072微信应用密钥同上
TENCENT_SECRET_IDAKIDwlRu...腾讯云短信 SecretIdapi/config/sms.py:3, docker-compose.yaml:51
TENCENT_SECRET_KEY96sQlsmTx...腾讯云短信 SecretKey同上
TENCENT_SMS_SDK_APP_ID140...腾讯短信应用 ID同上
TENCENT_SMS_APP_KEYcf1551461de61cd6...腾讯短信 AppKey同上
TENCENT_SMS_SIGNSIGNATURE短信签名同上
MAIL_SENDER(可选)noreply@yourdomain.com邮件通知发送账号celery-worker/config/mail.py:2, api/notify/email
MAIL_PASSWORD(可选)your-app-pass邮件发送凭证或授权码同上

6. 前端可见变量(必须以 NEXT_PUBLIC_ 开头)

这些变量会被打包进浏览器,切勿写入敏感信息。

变量示例值说明主要作用范围
NEXT_PUBLIC_API_PREFIXhttp://localhost/api/main-service前端调用主后端的基础 URLweb/src/config/api.ts:1, next.config.ts:28
NEXT_PUBLIC_NOTIFICATION_WS_API_PREFIXws://localhost/api/main-service/notification/wsWebSocket 通知地址web/src/config/api.ts:2
NEXT_PUBLIC_DAILY_HOT_API_PREFIXhttp://localhost/api/daily-hot-serviceDaily Hot 聚合接口地址web/src/config/api.ts:3
NEXT_PUBLIC_WECHAT_APP_IDwx8b244c17b73a8672用于在前端生成微信二维码登录地址web/components/user/wechat-bind.tsx:50
NEXT_PUBLIC_ALLOW_THIRD_PARTY_AUTHtrue/false控制是否显示第三方登录入口web/src/app/(public)/account/page.tsx:87

7. Daily Hot 聚合服务(Node 应用)

变量默认值说明主要作用范围
PORT6688Daily Hot 服务监听端口daily-hot/src/config.ts:36
DISALLOW_ROBOTtrue是否禁止爬虫抓取同上
CACHE_TTL3600榜单缓存时间(秒)同上
REQUEST_TIMEOUT6000Upstream 请求超时时间(毫秒)同上
ALLOWED_DOMAIN*允许访问的域名通配同上
ALLOWED_HOSTimsyy.top校验请求来源的顶级域同上
USE_LOG_FILEtrue是否写入日志文件同上
RSS_MODEfalse是否默认输出 RSS同上
REDIS_HOST127.0.0.1Daily Hot 使用的 Redis 主机同上
REDIS_PORT6379Redis 端口同上
REDIS_PASSWORD""Redis 密码(若需要)同上

8. 其他提示

  • 本地开发建议:
    使用 api/.envcelery-worker/.env 覆盖主 .env,以免影响线上配置。示例文件可参考 api/.env.examplecelery-worker/.env.example
  • Docker 部署:
    docker-compose.yaml 会从根目录 .env 读取变量,并传入 apicelery-workerwebdaily-hot 等服务。确保该文件内容与部署环境一致。
  • 敏感信息管理:
    建议配合 Vault、AWS Secrets Manager 或 Docker secrets 管理生产密钥;不要在日志或终端输出密钥值。

祝你部署顺利,随时欢迎反馈使用体验!

Last updated on