SuperAPI AI 工具集

infisical-self-host

部署与运维

查看项目

更新于 10-15 12:41

技能介绍

用途

本技能用于指导你部署、配置和运维自托管环境中的 Infisical。无论你是在 Docker、Docker Compose 还是 Kubernetes 上运行 Infisical,本资源都涵盖必要的安装配置、安全加固、扩缩容与维护模式。

适用边界

以下情况不属于本技能范围,应改用其他技能:

  • 部署 Kubernetes Operator(亦为 Helm chart,但属不同内容):使用 infisical-kubernetes-operator
  • 从 Infisical 访问私有资源:使用 infisical-gateway
  • 在实例上配置 SSO 或 SCIM:使用 infisical-sso
  • 角色、权限、审计日志流:使用 infisical-access-control
  • 在 Infisical 运行之后使用它:使用 infisical-setup
  • 使用外部 KMS 或 HSM 作为根密钥后盾:使用 infisical-kms

关于 Helm 的常见混淆值得提前说明:secrets-operator chart 安装的是 operator;本技能覆盖的是安装平台的 chart。两者均来自同一个 Cloudsmith 仓库。

核心原则

ENCRYPTION_KEY 至关重要:该密钥用于静态加密所有密钥,一旦丢失无法恢复。请备份,并严格遵循 Infisical 的轮换流程谨慎轮换。

  • 标准部署:随机 16 字节十六进制字符串 —— openssl rand -hex 16
  • 启用 FIPS 的部署:改用 256 位 base64 密钥 —— openssl rand -base64 32

AUTH_SECRET 为必填:该密钥用于会话与 JWT 签名,为 32 字节(base64),使用 openssl rand -base64 32 生成,且须在重启之间保持稳定。

数据库要求:PostgreSQL 是唯一支持的数据库。为兼容性请使用 14+;Infisical 在 16 上经过充分测试。升级 Infisical 前务必备份数据库。自 v0.111.0-postgres 起,模式迁移在启动时自动运行。

Redis 是硬依赖,而非仅是缓存:除缓存外,它还承载后台任务队列、分布式锁、跨实例协调状态和限流计数器。除非设置了 REDIS_URL、REDIS_SENTINEL_HOSTS 或 REDIS_CLUSTER_HOSTS 之一,否则实例无法启动;且 Redis 不可达时,正在运行的实例会处于降级状态。

  • 使用 Redis 6.x 或 7.x;建议至少 6.2
  • 支持全部三种拓扑:单机、Sentinel 和集群
  • 推荐主备。主主(Active-active)未经过测试,可能出现未记录的行为
  • 淘汰策略设为 noeviction。这是必需项而非调优建议 —— 内存压力下淘汰键会静默丢弃排队的工作
  • 启用持久化(AOF,或至少 RDB 快照)并备份 Redis。待处理的密钥轮换、同步和 Webhook 投递都保存在其中;Redis 若以空状态恢复将丢失这些数据
  • 为 Redis 设定与应用实例同等的可用性目标 —— 无副本的 Redis 是整个部署的单点故障

无状态架构:Infisical 是无状态的。通过增加副本来水平扩展,所有状态都存于 PostgreSQL 和 Redis。每个实例仅需不超过 2–4 个 CPU 核心和 4–8 GB 内存;应增加容器而非扩大单个容器。

FIPS 合规:Infisical 符合 FIPS 140-3。请部署独立的 infisical/infisical-fips Docker 镜像(这是仅企业版提供的镜像,不是标准仓库上的标签),并设置 FIPS_ENABLED=true。请注意 FIPS 模式下 ENCRYPTION_KEY 格式变为 256 位 base64。

快速开始

  • Docker 单机:拉取 infisical/infisical:<version>,设置环境变量,在 8080 端口运行。
  • Docker Compose:使用仓库中的 docker-compose.prod.yml,包含 PostgreSQL 和 Redis 服务。
  • Kubernetes:通过 Cloudsmith 仓库的 Helm chart infisical-standalone-postgres 部署,可选托管数据库。

参考指南

环境变量 所有配置环境变量的完整参考,包括:

  • 必需键(ENCRYPTION_KEY、AUTH_SECRET、数据库、Redis)
  • 数据库与复制设置
  • 支持 Sentinel 的 Redis
  • SMTP 配置
  • OAuth/SSO 提供方
  • FIPS 与遥测设置
  • 安全选项

Docker 部署 Docker 与 Docker Compose 部署模式,包括:

  • 单机容器设置
  • Docker Compose 生产栈
  • 镜像变体(标准与 FIPS)
  • 通过安全能力与只读文件系统进行生产加固
  • 健康检查

Kubernetes 部署 Kubernetes 与 Helm 部署指南,包括:

  • Helm chart 安装与配置
  • Secret 创建与管理
  • 可选的 PostgreSQL 与 Redis(Bitnami charts)
  • Pod 安全与 RBAC
  • 网络策略与 Ingress/TLS

扩缩容与高可用 生产扩缩容模式与 HA 架构,包括:

  • 水平扩展(增加副本)
  • Infisical、PostgreSQL 和 Redis 的容量规划指引
  • 数据库读副本
  • 用于 HA 的 Redis Sentinel
  • 备份与升级流程
  • 许可证服务器防火墙规则