logologo
开始
手册
开发
插件
API
首页
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
开始
手册
开发
插件
API
首页
logologo
NocoBase 如何工作
系统要求
安装方式和版本对比

安装 NocoBase

Docker 安装
create-nocobase-app 安装
Git 源码安装
环境变量

升级 NocoBase

Docker 安装的升级
create-nocobase-app 安装的升级
Git 源码安装的升级

部署

生产环境部署

静态资源代理

nginx
caddy
cdn

常用运维命令

docker compose
pm2
如何部署才更快
安装与升级插件
翻译贡献
Previous Page安装方式和版本对比
Next Pagecreate-nocobase-app 安装

#Docker 安装

前提条件
  • 已安装 Docker 和 Docker Compose
  • 确保 Docker 服务正在运行

#1. 新建 docker-compose.yml

# 创建一个名为 my-project(可以是其他名称)的文件夹,用于存放 NocoBase 生成的系统文件
mkdir my-project && cd my-project

# 创建一个空的 docker-compose.yml 文件
vi docker-compose.yml

#2. 配置 docker-compose.yml

选择 NocoBase 版本(版本对比)和数据库类型,复制对应的配置到 docker-compose.yml 里。

配置说明
  • 选择镜像:latest latest-full beta beta-full alpha alpha-full 1.7.14 1.7.14-full
    • 生产环境建议固定为具体数字版本,避免无意自动升级。查看所有版本
    • 阿里云镜像:registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest-full
    • Docker Hub 镜像:nocobase/nocobase:latest-full
    • full 镜像包含了备份管理、迁移管理插件所需的 PostgreSQL 16/17 客户端、MySQL 8.0 客户端、Oracle 19.25 客户端以及模板打印(PDF)所需的 LibreOffice
    • 如需自建镜像,可参考官方提供的 Dockerfile(精简版) 和 Dockerfile-full(完整版)
  • 修改 APP_KEY:请将 your-secret-key 替换为随机字符串,用于加密用户 token 等敏感信息
  • 使用已有数据库:如果已有数据库服务,请修改 DB_HOST 为数据库服务器地址,并删除或注释掉数据库服务配置(如 postgres、mysql、mariadb 服务)
  • 端口映射:默认将容器的 80 端口映射到主机的 13000 端口,可根据需要修改
Beta 版本(2.0-beta)
Alpha 版本(2.0-alpha)
Latest 版本(1.9)
PostgreSQL
MySQL
MariaDB
networks:
  nocobase:
    driver: bridge

services:
  app:
    image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:beta-full
    restart: always
    networks:
      - nocobase
    depends_on:
      - postgres
    environment:
      # 应用的密钥,用于生成用户 token 等
      # 如果 APP_KEY 修改了,旧的 token 也会随之失效
      # 可以是任意随机字符串,并确保不对外泄露
      - APP_KEY=your-secret-key
      # 数据库类型,支持 postgres, mysql, mariadb
      - DB_DIALECT=postgres
      # 数据库主机,可以替换为已有的数据库服务器 IP
      - DB_HOST=postgres
      # Database port
      - DB_PORT=5432
      # 数据库名
      - DB_DATABASE=nocobase
      # 数据库用户
      - DB_USER=nocobase
      # 数据库密码
      - DB_PASSWORD=nocobase
      # 时区
      - TZ=Asia/Shanghai

    volumes:
      - ./storage:/app/nocobase/storage
    ports:
      - '13000:80'
    # init: true

  # 如果使用已有数据库服务,可以不启动 postgres
  postgres:
    image: registry.cn-shanghai.aliyuncs.com/nocobase/postgres:16
    restart: always
    command: postgres -c wal_level=logical
    environment:
      POSTGRES_USER: nocobase
      POSTGRES_DB: nocobase
      POSTGRES_PASSWORD: nocobase
    volumes:
      - ./storage/db/postgres:/var/lib/postgresql/data
    networks:
      - nocobase

#3. 安装并启动 NocoBase

# 拉取最新镜像
docker compose pull

# 在后台运行(首次运行会自动执行安装)
docker compose up -d

# 查看安装和运行日志
docker compose logs -f app

app-postgres-app-1  | nginx started
app-postgres-app-1  | yarn run v1.22.15
app-postgres-app-1  | $ cross-env DOTENV_CONFIG_PATH=.env node -r dotenv/config packages/app/server/lib/index.js install -s
app-postgres-app-1  | Done in 2.72s.
app-postgres-app-1  | yarn run v1.22.15
app-postgres-app-1  | $ pm2-runtime start --node-args="-r dotenv/config" packages/app/server/lib/index.js -- start
app-postgres-app-1  | 2022-04-28T15:45:38: PM2 log: Launching in no daemon mode
app-postgres-app-1  | 2022-04-28T15:45:38: PM2 log: App [index:0] starting in -fork mode-
app-postgres-app-1  | 2022-04-28T15:45:38: PM2 log: App [index:0] online
app-postgres-app-1  | 🚀 NocoBase server running at: http://localhost:13000/

#4. 登录 NocoBase

使用浏览器打开 http://localhost:13000,初始化账号和密码是 admin@nocobase.com 和 admin123。

账号安全提示

首次登录后,请及时修改默认密码以确保系统安全。