geo/docs/05-部署运维/environment.md

2.4 KiB

环境变量

环境变量文件

项目根目录下的 .env 文件包含所有配置。

基础配置

数据库

变量 说明 示例
DATABASE_URL PostgreSQL连接字符串 postgresql+asyncpg://user:pass@host:5432/geo
DB_POOL_SIZE 连接池大小 20
DB_MAX_OVERFLOW 最大溢出连接 10

Redis

变量 说明 示例
REDIS_URL Redis连接地址 redis://host:6379/0
REDIS_PASSWORD Redis密码 password

应用

变量 说明 示例
APP_ENV 运行环境 development / production
APP_DEBUG 调试模式 true / false
APP_HOST 监听地址 0.0.0.0
APP_PORT 监听端口 8000
SECRET_KEY 应用密钥 your-secret-key
CORS_ORIGINS 允许的跨域源 http://localhost:3000

认证

变量 说明 示例
JWT_SECRET JWT签名密钥 your-jwt-secret
JWT_ALGORITHM JWT算法 HS256
JWT_EXPIRE_HOURS Token过期时间 24
REFRESH_TOKEN_EXPIRE_DAYS 刷新Token过期时间 7

AI服务

变量 说明 示例
OPENAI_API_KEY OpenAI API密钥 sk-...
DEEPSEEK_API_KEY DeepSeek API密钥 sk-...
ZHIPU_API_KEY 智谱AI API密钥 ...
LLM_BASE_URL LLM API地址 https://api.deepseek.com
LLM_MODEL 默认模型 deepseek-chat

知识库

变量 说明 示例
KNOWLEDGE_EMBEDDING_MODEL 嵌入模型 text-embedding-ada-002
KNOWLEDGE_VECTOR_DB 向量数据库类型 qdrant
QDRANT_HOST Qdrant地址 localhost
QDRANT_PORT Qdrant端口 6333

开发环境示例

# .env.development
APP_ENV=development
APP_DEBUG=true
DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/geo
REDIS_URL=redis://localhost:6379/0
JWT_SECRET=dev-secret-key-change-in-production
CORS_ORIGINS=http://localhost:3000

生产环境示例

# .env.production
APP_ENV=production
APP_DEBUG=false
DATABASE_URL=postgresql+asyncpg://user:pass@prod-db:5432/geo
REDIS_URL=redis://:password@prod-redis:6379/0
JWT_SECRET=${JWT_SECRET}
SECRET_KEY=${SECRET_KEY}
CORS_ORIGINS=https://your-domain.com
LLM_BASE_URL=https://api.deepseek.com
LLM_MODEL=deepseek-chat