Senate

环境变量

配置密钥和应用设置

环境变量

环境变量允许你在不修改代码的情况下配置应用。安全地存储 API 密钥、数据库 URL 和配置设置。

概述

Senate 中的环境变量:

  • 在运行时传递给容器
  • 可以包含敏感数据(静态加密)
  • 需要重新部署才能生效
  • 作用域为单个服务

管理环境变量

通过面板

  1. 导航到你的服务
  2. 进入 Environment 标签页
  3. 添加、编辑或删除变量
  4. 点击 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=info

API 密钥与密钥

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 服务,环境变量会合并:

  1. docker-compose.yml 中定义的变量
  2. Senate Environment 标签页中设置的变量(覆盖 compose)
# docker-compose.yml
services:
  app:
    environment:
      - NODE_ENV=development  # 可在 Senate 中覆盖

变量生命周期

操作效果
添加变量下次部署后可用
编辑变量重新部署后生效
删除变量重新部署后移除

容器仅在启动时接收环境变量。更改变量需要重新部署服务。

调试

查看当前变量

检查运行容器中设置了哪些变量:

  1. 进入服务 Overview 标签页
  2. 打开 Terminal
  3. 运行 envprintenv

常见问题

变量不可用:

  • 添加变量后是否重新部署了?
  • 键名拼写是否正确(区分大小写)?

值不正确:

  • 检查是否有尾随空格或引号
  • 在 Environment 标签页验证值

相关内容

目录