环境变量
配置密钥和应用设置
环境变量
环境变量允许你在不修改代码的情况下配置应用。安全地存储 API 密钥、数据库 URL 和配置设置。
概述
Senate 中的环境变量:
- 在运行时传递给容器
- 可以包含敏感数据(静态加密)
- 需要重新部署才能生效
- 作用域为单个服务
管理环境变量
通过面板
- 导航到你的服务
- 进入 Environment 标签页
- 添加、编辑或删除变量
- 点击 Save

变量格式
| 字段 | 描述 | 示例 |
|---|---|---|
| Key | 变量名(推荐大写) | DATABASE_URL |
| Value | 变量值 | postgres://user:pass@host:5432/db |
环境变量的更改需要重新部署才能生效。
常用环境变量
数据库连接
DATABASE_URL=postgres://user:password@host:5432/database
REDIS_URL=redis://localhost:6379
MONGODB_URI=mongodb://localhost:27017/mydb应用设置
NODE_ENV=production
PORT=3000
DEBUG=false
LOG_LEVEL=infoAPI 密钥与密钥
API_KEY=sk_live_xxxxx
JWT_SECRET=your-secret-key
AWS_ACCESS_KEY_ID=AKIAXXXXXXXX
AWS_SECRET_ACCESS_KEY=xxxxxxxx服务 URL
BASE_URL=https://app.example.com
API_URL=http://senate-api-abc123:8080
FRONTEND_URL=https://www.example.com引用其他服务
对于服务间通信,使用内部主机名:
# 格式:{service-name}-{short-id}
API_URL=http://backend-abc123:8080
DATABASE_HOST=postgres-def456在服务的 Domains 标签页的"Internal Endpoints"下找到内部主机名。
Compose 中的环境变量
对于 Compose 服务,环境变量会合并:
docker-compose.yml中定义的变量- Senate Environment 标签页中设置的变量(覆盖 compose)
# docker-compose.yml
services:
app:
environment:
- NODE_ENV=development # 可在 Senate 中覆盖变量生命周期
| 操作 | 效果 |
|---|---|
| 添加变量 | 下次部署后可用 |
| 编辑变量 | 重新部署后生效 |
| 删除变量 | 重新部署后移除 |
容器仅在启动时接收环境变量。更改变量需要重新部署服务。
调试
查看当前变量
检查运行容器中设置了哪些变量:
- 进入服务 Overview 标签页
- 打开 Terminal
- 运行
env或printenv
常见问题
变量不可用:
- 添加变量后是否重新部署了?
- 键名拼写是否正确(区分大小写)?
值不正确:
- 检查是否有尾随空格或引号
- 在 Environment 标签页验证值