文档

环境变量配置

通过环境变量和配置面板管理 HackerStart 的所有集成服务

两种配置方式

HackerStart 的配置分两层:

  1. 环境变量文件(.env:数据库连接、加密密钥、租户模式等基础设施配置。修改后需要重启服务。
  2. 后台配置面板(/admin/config:支付密钥、邮件配置、AI 服务等业务配置。修改后即时生效,无需重启。

环境变量优先级高于后台面板。如果 .env 中设置了某项,面板中会显示为「已锁定」,不可编辑。详见《配置系统设置》。

必需变量

以下变量必须在 .env 中配置,否则应用无法启动。

InsForge(数据库与认证)

在《数据库》文档中查看 InsForge 的设置方式。

变量说明
INSFORGE_URLInsForge 服务地址(如 http://localhost:10700
INSFORGE_ANON_KEYInsForge 匿文密钥(服务端)
INSFORGE_API_KEYInsForge API 密钥(仅服务端,不可暴露给浏览器)
VITE_INSFORGE_URL浏览器端 InsForge 地址(通常和 INSFORGE_URL 相同)
VITE_INSFORGE_ANON_KEY浏览器端 InsForge 密钥(通常和 INSFORGE_ANON_KEY 相同)

Session 加密

变量说明
SESSION_SECRETSession 加密密钥(生成方式:openssl rand -base64 32

VITE_ 前缀的变量会被打包到浏览器端代码中。绝对不要INSFORGE_API_KEYVITE_ 前缀。

可选变量

数据库直连

变量默认说明
DATABASE_URLPostgreSQL 直连 URL。未设置时配置系统回退到 env + 默认值,/admin/config 不可用
CONFIG_ENCRYPTION_KEY配置加密密钥(openssl rand -base64 32)。启用 /admin/config 面板时必需

CONFIG_ENCRYPTION_KEY 丢失后,已加密的配置值将不可读(回退到默认值)。密钥轮换需要重新保存所有加密配置。

平台管理员

变量说明
PLATFORM_ADMIN_BOOTSTRAP_EMAILS平台管理员引导邮箱(逗号分隔)。platform_admins 表为空时,名单内邮箱的用户首次访问 /admin/config 自动成为 platform_owner。引导完成后此变量不再生效

多租户设置

这四组是配对变量——不带 VITE_ 的(服务端)和带 VITE_ 的(客户端)必须一致,否则启动时报错。

变量可选值默认值说明
TENANCY_MODE / VITE_TENANCY_MODEsingle, multisingle单租户或按租户切换工作空间
TENANT_UI / VITE_TENANT_UIhidden, visiblehidden是否向用户显示工作空间概念
ROLES_ENABLED / VITE_ROLES_ENABLEDtrue, falsefalse是否启用 owner/admin/operator 角色区分
ORG_MODE / VITE_ORG_MODEoff, hierarchicaloff是否启用组织层级治理

如何选择租户模式

  • 个人/小团队single + hidden + ROLES_ENABLED=false — 注册后直接进入产品,无工作空间感知
  • 多城市/多项目社区(如 Coding Girls Club):multi + visible + ROLES_ENABLED=true + ORG_MODE=hierarchical
  • 平权社区平台multi + visible + ROLES_ENABLED=true + ORG_MODE=off

组织创建控制(运行时)

启用 ORG_MODE=hierarchical 后,以下配置项通过 /admin/config 面板管理,不是环境变量

配置项默认值说明
tenancy.orgCreationadmin_only谁能创建组织:admin_only(仅平台管理员)或 open(所有登录用户)
tenancy.orgMaxCount1最大组织数量。0 = 不限制

内容开关

控制站点中哪些内容模块对用户可见。同样是配对变量。

变量默认值说明
CONTENT_DOCS_ENABLED / VITE_CONTENT_DOCS_ENABLEDtrue文档页面
CONTENT_BLOG_ENABLED / VITE_CONTENT_BLOG_ENABLEDtrue博客
CONTENT_CHANGELOG_ENABLED / VITE_CONTENT_CHANGELOG_ENABLEDfalse更新日志
CONTENT_ROADMAP_ENABLED / VITE_CONTENT_ROADMAP_ENABLEDfalse路线图
CONTENT_LEGAL_ENABLED / VITE_CONTENT_LEGAL_ENABLEDtrue法律页面(隐私政策、服务条款)

后台配置面板

完成环境变量配置后,可以通过 /admin/config 管理运行时配置:

  • 平台设置:产品名称(platform.productName
  • AI 服务:AI 服务商和 API 密钥
  • 支付:支付服务商和 Webhook 密钥
  • 邮件:邮件服务商和 SMTP 配置
  • 存储:存储服务商和访问密钥
  • 功能开关:Beta 横幅等功能特性

详细的配置面板使用说明见《配置系统设置》。

本页内容