科技背景
🔧 NOCOBASE IMPLEMENTATION GUIDE

实施者指南 部署与配置实战

快速完成NocoBase部署与配置,确保系统稳定运行

部署前准备:环境检查与规划

三种部署方式:Docker Compose、Dockerfile、源码安装

基础配置:系统设置与常见问题解决

📋 部署准备 🚀 部署方式 ⚙️ 基础配置 🔧 问题解决

📋 部署前准备

环境检查与规划,确保部署顺利进行

硬件与网络要求

最低配置(测试环境)

  • CPU:2核
  • 内存:4GB
  • 磁盘:50GB
  • 网络:稳定的互联网连接

推荐配置(生产环境)

  • CPU:4核及以上
  • 内存:8GB及以上
  • 磁盘:100GB SSD及以上
  • 网络:稳定的互联网连接,建议使用专线

软件环境要求

Docker 部署方式(推荐)

  • Docker Engine:24.0+(推荐 27.x)
  • Docker Compose:V2 2.20+(命令为 docker compose,注意无连字符)
  • 操作系统:Linux(推荐 Ubuntu 22.04 LTS / CentOS Stream 9)、Windows 10/11、macOS 12+
  • 国内部署建议配置 Docker 镜像加速器

源码安装方式

  • Node.js:20.x LTS 或 22.x LTS(v1.x 不再支持 Node 16/18)
  • 包管理器:Yarn 1.22+ 或 pnpm 8+(官方模板默认使用 Yarn)
  • 数据库:PostgreSQL 16+(推荐)或 MySQL 8.0+ / MariaDB 10.7+ / SQLite 3.x
  • 操作系统:Linux(推荐)、Windows 10/11、macOS 12+

部署规划

1 环境准备

  • 确认服务器硬件配置
  • 安装必要的软件依赖
  • 配置网络和防火墙

2 部署方式选择

  • 测试环境:Docker Compose
  • 生产环境:Dockerfile
  • 深度定制:源码安装

3 后续规划

  • 数据备份策略
  • 监控与告警
  • 定期更新计划

🚀 部署方式

三种部署方式详细教程,满足不同场景需求

方式一:Docker Compose 一键部署(推荐测试环境)

部署步骤

1

创建部署目录与数据卷目录

mkdir -p nocobase/storage && cd nocobase
2

生成必填密钥 APP_KEY(用于会话加密,缺失则启动失败

openssl rand -base64 36 # 将输出的字符串填入下面 APP_KEY 及 .env
3

创建 docker-compose.yml(完整可用版本)

cat > docker-compose.yml << 'EOF' # Compose Spec 不再需要 version 字段 services: app: image: nocobase/nocobase:latest # 生产环境请锁定具体版本,如 nocobase/nocobase:1.8.4 restart: unless-stopped depends_on: - postgres environment: # ── 应用密钥(必填)── - APP_KEY=请替换为 openssl 生成的随机字符串 - APP_PORT=8080 - APP_ENV=production - TZ=Asia/Shanghai # ── 数据库连接(NocoBase 使用 DB_* 独立变量,不要用 DATABASE_URL)── - DB_DIALECT=postgres - DB_HOST=postgres - DB_PORT=5432 - DB_DATABASE=nocobase - DB_USER=nocobase - DB_PASSWORD=请修改为强密码 # ── 首次启动自动创建管理员(可选,推荐)── - INIT_ROOT_EMAIL=admin@example.com - INIT_ROOT_PASSWORD=请修改为强密码 - INIT_ROOT_NICKNAME=Super Admin volumes: - ./storage:/app/nocobase/storage # 上传文件/插件/日志,绝不能省 ports: - "8080:80" postgres: image: postgres:16-alpine restart: unless-stopped environment: - POSTGRES_DB=nocobase - POSTGRES_USER=nocobase - POSTGRES_PASSWORD=请修改为强密码 # 与上方 DB_PASSWORD 保持一致 - TZ=Asia/Shanghai volumes: - ./postgres-data:/var/lib/postgresql/data EOF
4

启动服务(注意是 Docker Compose V2,命令为 docker compose无连字符

docker compose up -d && docker compose logs -f app
5

访问 NocoBase

打开浏览器,访问 http://服务器IP:8080,使用 INIT_ROOT_EMAIL / INIT_ROOT_PASSWORD 登录

注意事项

  • 未设置 APP_KEY 会导致启动失败,请务必用 openssl rand -base64 36 生成随机密钥
  • 必须挂载 ./storage,否则容器重启后上传文件、插件、日志全部丢失
  • 生产环境请锁定具体版本(如 nocobase/nocobase:1.8.4),避免使用 latest 导致意外升级
  • 默认数据库密码请修改为强密码,且 DB_PASSWORDPOSTGRES_PASSWORD 保持一致
  • 容器内部服务监听端口是 80,主机映射为 8080:80,生产环境建议前置 Nginx 反向代理启用 HTTPS

方式二:Dockerfile 自定义构建(推荐生产环境)

部署步骤

1

创建 Dockerfile 文件

cat > Dockerfile << 'EOF' FROM nocobase/nocobase:latest # 如需安装额外依赖,请在此添加 # RUN npm install some-package # 如需复制自定义配置,请在此添加 # COPY config.yml /app/config/ EOF
2

构建镜像

docker build -t my-nocobase .
3

创建 docker-compose.yml(生产环境完整可用版本,请先用 openssl rand -base64 36 生成 APP_KEY)

cat > docker-compose.yml << 'EOF' # Compose Spec 不再需要 version 字段 services: app: image: my-nocobase restart: unless-stopped depends_on: - postgres environment: # ── 应用密钥(必填)── - APP_KEY=请替换为 openssl 生成的随机字符串 - APP_PORT=8080 - APP_ENV=production - TZ=Asia/Shanghai # ── 数据库连接(DB_* 独立变量)── - DB_DIALECT=postgres - DB_HOST=postgres - DB_PORT=5432 - DB_DATABASE=nocobase - DB_USER=nocobase - DB_PASSWORD=your_strong_password # ── 生产环境项── - LOGGER_LEVEL=info - LOGGER_TRANSPORT=console,file volumes: - ./storage:/app/nocobase/storage # 文件上传/插件/日志持久化 ports: - "8080:80" postgres: image: postgres:16-alpine restart: unless-stopped environment: - POSTGRES_DB=nocobase - POSTGRES_USER=nocobase - POSTGRES_PASSWORD=your_strong_password # 与 DB_PASSWORD 保持一致 - TZ=Asia/Shanghai volumes: - ./postgres-data:/var/lib/postgresql/data EOF
4

启动服务(Docker Compose V2

docker compose up -d

注意事项

  • 生产环境必填 APP_KEY(会话加密密钥),请使用 openssl rand -base64 36 生成
  • 必须挂载 ./storage以持久化文件、插件、日志
  • 生产环境请务必修改数据库密码为强密码,且两处密码保持一致
  • 建议使用固定版本镜像(如 nocobase/nocobase:1.8.4),而非 latest 标签
  • 可根据需要在 Dockerfile 中添加自定义配置和依赖(如 RUN yarn add @nocobase/plugin-xxx
  • 生产环境推荐前置 Nginx 反向代理、开启 HTTPS,并设置 client_max_body_size 100M 以支持大文件上传

方式三:create-nocobase-app 源码安装(适合深度定制)

部署步骤

1

安装 Node.js

使用 nvm 安装 Node.js 20.x LTSnvm install 20 && nvm use 20

2

创建项目(以 PostgreSQL 为例,交互式填写数据库信息)

yarn create nocobase-app my-nocobase-app -d postgres

可选 -d postgres / mysql / mariadb / sqlite;npm 用户可用 npm create nocobase-app@latest

3

配置数据库

根据提示配置数据库连接信息

4

安装依赖 & 启动服务(开发模式)

cd my-nocobase-app && yarn install && yarn nocobase install && yarn dev
5

生产环境构建 & 启动

yarn build && yarn start --quickstart

推荐使用 pm2 start "yarn start" --name nocobase 进行进程管理与开机自启

注意事项

  • 此方式适合需要深度定制或二次开发的场景
  • 需要更多的系统资源和 Node.js 相关知识
  • 生产环境建议使用 PM2 等进程管理工具

⚙️ 基础配置

系统设置与初始化配置,确保系统正常运行

初始配置

1. 创建管理员账户

首次访问 NocoBase 时,系统会引导创建管理员账户。请设置强密码并妥善保管。

2. 配置系统信息

进入「设置」->「系统设置」,配置系统名称、LOGO、版权信息等。

3. 配置邮件服务

进入「设置」->「邮件设置」,配置 SMTP 服务,用于发送验证码、通知等。

4. 安装必要插件

进入「插件市场」,安装所需的插件,如 AI 集成、图表分析等。

安全配置

1. 配置 HTTPS

生产环境建议配置 HTTPS,可以通过反向代理(如 Nginx)实现。

2. 配置防火墙

仅开放必要的端口,如 80、443 等,关闭不必要的端口。

3. 配置权限管理

进入「设置」->「角色权限」,配置不同角色的权限,遵循最小权限原则。

4. 配置数据备份

定期备份数据库,可以通过 crontab 定时执行备份脚本。

性能优化

服务器优化

  • 调整服务器内核参数
  • 配置合适的 swap 空间
  • 使用 SSD 存储

数据库优化

  • 调整 PostgreSQL 配置参数
  • 定期清理无用数据
  • 创建合适的索引

应用优化

  • 启用缓存机制
  • 合理配置插件
  • 优化图片和静态资源

🔧 常见问题及解决方案

部署与使用过程中常见问题的解决方法

问题:Docker 部署后无法访问

可能原因

  • 端口未开放
  • 防火墙阻止
  • 容器未正常启动

解决方案

  • 检查端口映射是否正确:docker-compose ps
  • 检查防火墙设置,开放相应端口
  • 查看容器日志:docker-compose logs

问题:数据库连接失败

可能原因

  • 数据库配置错误
  • 数据库服务未启动
  • 网络连接问题

解决方案

  • 检查数据库配置是否正确
  • 确保数据库服务正常运行
  • 测试数据库连接:psql -h localhost -U nocobase -d nocobase

问题:插件安装失败

可能原因

  • 网络连接问题
  • 插件版本与系统不兼容
  • 服务器资源不足

解决方案

  • 检查网络连接是否正常
  • 确保插件版本与系统版本兼容
  • 检查服务器内存和磁盘空间是否充足

问题:系统运行缓慢

可能原因

  • 服务器资源不足
  • 数据库未优化
  • 插件过多或配置不当

解决方案

  • 增加服务器资源(CPU、内存)
  • 优化数据库配置,创建合适的索引
  • 禁用不必要的插件,优化系统配置