跳转到内容

5 步安装向导

6 个容器全部 healthy 后,浏览器访问 https://admin.你的域名,会自动跳转到 /install 安装向导,共 5 步:

Step标题做什么
1环境检查自动检测数据库 / Redis / 存储目录
2数据库迁移应用 Prisma migration
3创建超级管理员设置后台登录账号(role = super_admin
4站点基础信息站点名称 / 默认语言 / URL 策略
5示例数据与完成选择导入示例数据或从空站开始,安装锁定

完成后 /install自动关闭,再次访问该路径返回 403 ALREADY_INSTALLED

向导自动调用 POST /install/check-env,检测:

  • 数据库连通DATABASE_URL
  • Redis 连通REDIS_URL
  • 存储目录可写storage/uploads/
  • JWT 密钥已设置BANGNICMS_JWT_SECRET
  • Revalidate 密钥已设置BANGNICMS_REVALIDATE_SECRET

全绿点 Next

向导调用 POST /install/migrate,应用 Prisma 数据库迁移文件。

  • 首次部署:约 30 秒(创建所有表)
  • 升级部署:通常秒级(无新迁移时直接通过)
  • 迁移幂等,可重复运行

全绿点 Next

设置 BangNiCMS 后台的初始账号——这个账号管业务,不是 Portainer 那个

字段必填说明
Username登录用户名(仅限字母数字 + 下划线)
Email用于密码找回(推荐填)
Password至少 8 位
Name显示名(如”运营张三”)

向导调用 POST /install/create-admin,账号 role 字段固定为 super_admin

填写站点全局元信息(安装后可在「站点设置」随时修改)。

字段类型说明
siteName必填站点名称(如”邦尼网络”)
siteDescription可选站点副标题 / 简介
defaultLanguageCode必填默认语言代码(如 zh-CN / en-US
urlStrategy必填URL 策略:prefix(前缀,如 /en/products)或 subdomain(子域名,如 en.example.com
siteHost可选主域名(用于多语言子域名策略时)
策略例子何时选
prefixmysite.com/en/products默认推荐:单域名简单清晰
subdomainen.mysite.com/products各语言独立 SEO 权重;需配置每个子域名 DNS

向导调用 POST /install/site-config

二选一:

选项 A:导入示例数据(推荐首次部署

Section titled “选项 A:导入示例数据(推荐首次部署)”

向导调用 POST /install/seed 自动创建:

  • 12 个示例产品(含规格、图集、关联下载、双语)
  • 21 篇示例文章(行业洞察、产品介绍、新闻)
  • 10 个首页模块(Hero、产品矩阵、客户案例、CTA 等)
  • 三语 i18n 字典(zh-CN / en-US / 默认占位)
  • 示例分类、菜单、媒体资源

适合第一次部署,让你快速看到一个”完整”的站点效果,再按需替换为自己的内容。

完全干净的数据库,所有内容自己一条一条创建。适合已有完整内容素材的运营。

Finalize 调用 POST /install/finalize

  1. 写入 storage/install.lock(标记已初始化)
  2. 关闭 /install 路由
  3. 跳转后台首页

部署完成 🎉

需要重新走向导意味着清空现有数据

Terminal window
# 在服务器上
docker compose -p bangnicms down
docker volume rm bangnicms_postgres_data
docker compose -p bangnicms up -d

数据库重新干净后,访问 /install 会再次出现向导。

极小概率出现:手动删了 storage/install.lock 但数据库已有数据。此时 /install 仍判定 initialized=true(因为 SiteConfig 表已写入数据),会返回 403。

需要从数据库手动删除 SiteConfig 单条记录方可重走。不推荐操作。

  • /install/status 公开可读,未初始化时返回一次性 token
  • 所有 POST /install/* 必须带 X-Install-Token header,失败 403
  • 已初始化后所有 POST 返回 403 { code: 'ALREADY_INSTALLED' }
  • token 由 storage/install.lock 保护,进程重启不会丢失

完成安装向导后,进入下一步: