跳到主要内容

配置说明

iForge 通过环境变量进行配置。完整示例见 .env.example

后端配置

基础配置

变量说明默认值
IFORGE_HOME数据目录(数据库、日志、Git 仓库)./data
IFORGE_HTTP_PORTHTTP 服务端口(浏览器 + Git HTTP)8081
IFORGE_SESSION_SECRET会话密钥(留空则自动生成并持久化到数据库)自动生成
会话密钥
  • 留空(推荐):首次启动自动生成 32 字节随机密钥并持久化到数据库,重启复用同一密钥,不影响登录态
  • 多副本部署(K8s 多 Pod、多容器)必须设置为固定值,否则各副本密钥不一致

SSH Git 服务

变量说明默认值
IFORGE_SSH_ENABLED是否启用 SSH Git 服务true
IFORGE_SSH_PORTSSH Git 服务端口2022
使用 22 端口

如需使用标准 SSH 端口 22,设置 IFORGE_SSH_PORT=22。 注意:如果宿主机已运行 sshd,需要先停用或改用其他端口。

CORS 配置

变量说明默认值
IFORGE_CORS_ORIGINSCORS 允许的前端来源localhost
  • *:反射任意 Origin(自托管/局域网部署推荐,兼容 cookie credentials)
  • 具体值:http://192.168.1.100:3001(多个用逗号分隔,更严格)

前端配置

变量说明默认值
NEXT_PUBLIC_API_BASE后端 API 基础地址空(动态适配)
SERVER_API_URLSSR 数据请求地址(Docker 内部网络)
动态 API 地址

NEXT_PUBLIC_API_BASE 留空时,前端运行时按浏览器 window.location.hostname 自动适配:

  • 局域网访问 http://192.168.1.100:3001 → API 请求发到 http://192.168.1.100:8081
  • 自定义域名时设为固定值:https://iforge.example.com/api/v1

Docker 内部网络

Docker 部署时,web 容器和 server 容器通过 Docker 内部网络通信:

# docker-compose.yml 中 web 服务
environment:
- SERVER_API_URL=http://server:8081/api/v1 # SSR 走内部网络

浏览器端请求不受此影响,仍按 window.location.hostname 动态适配。

CI/CD 配置

变量说明默认值
IFORGE_CI_ENABLED是否启用 CI/CD 功能true
IFORGE_CI_ALLOW_SHELL_EXECUTOR是否允许 Shell Executor(生产环境必须为 falsefalse
IFORGE_CI_KEEP_WORKDIR是否保留 Job 工作目录(调试用)false
Shell Executor 安全警告

Shell Executor 在宿主机直接执行用户代码,存在严重安全风险。生产环境必须保持禁用IFORGE_CI_ALLOW_SHELL_EXECUTOR=false)。

如需在开发环境启用,设置 IFORGE_CI_ALLOW_SHELL_EXECUTOR=true

数据库

当前版本使用 SQLite 作为默认数据库({IFORGE_HOME}/iforge.db),由 GORM AutoMigrate 自动建表。

代码中已支持 MySQL/PostgreSQL 驱动,如需切换请修改 server/cmd/server/main.go 中的 InitGORMDB 调用。