• 低代码开发平台NocoBase的安装


    在这里插入图片描述

    明天有事外出,博客和 csdn 提前发,公众号还是明天定时发;


    本文是应 CSDN 网友 bob89you 的要求而写

    什么是 NocoBase ?

    NocoBase 是一个极易扩展的开源无代码开发平台。 无需编程,使用 NocoBase 搭建自己的协作平台、管理系统,只需要几分钟时间。

    NocoBase 是国人开发的,比较值得称赞的是, NocoBase 的文档和教程相对比较完善,这在开源项目中比较罕见,所以入门相对比较容易。但是也需要注意,NocoBase 正处在早期开发阶段,可能变动频繁,请谨慎用于生产环境。

    NocoBase 支持三种安装方式,在群晖上我们默认还是采用 docker 方式安装,不过在安装过程中老苏还是遇到了坑,接下来请听我慢慢道来。

    重要说明

    • 本文撰写时基于的安装版本为 0.7.0-alpha.78,所以结论只针对该版本;
    • 几个小时前发布的最新版本为 0.7.1-alpha.7,这个版本在发稿前做了简单的测试,发现所有的版本均失败,日志均只有👇两行内容,不建议安装最新版本;

    在这里插入图片描述

    数据库的选择

    NocoBase 支持三种数据库,分别是 PostgreSQLMySQLSQLite ,老苏觉得既然是在群晖上,完全可以用群晖自带的 MariaDB 10 数据库。

    以前都是这么干的,而且一直挺顺利的,但是没想到这次,不管是使用群晖自带的 MariaDB 10 数据库还是另外用 Docker 安装 MySQL 都遇到了问题。

    MariaDB(失败)

    这部分只是记录折腾的过程,但并没有成功,所以你完全可以跳过这个章节

    官方并没有指定版本,老苏试了群晖自带的 MariaDB 5,从日志看,明确不支持。官方示例的 docker-compose.yml 中用的 MySQL 8 ,所以老苏用了群晖自带的 MariaDB 10 数据库。

    在这里插入图片描述

    • 第一步、在 phpMyAdmin 中创建名为 nocobase 的空数据库。

    为了演示方便,后面假设数据库密码都是:nocobase

    在这里插入图片描述

    • 第二步、将下面的内容保存为 docker-compose.yml 文件
    version: "3"
    
    services:
      app:
        image: nocobase/nocobase:0.7.0-alpha.78
        container_name: nocobase
        environment:
          - DB_DIALECT=mysql
          - DB_HOST=192.168.0.197
          - DB_PORT=3307
          - DB_DATABASE=nocobase
          - DB_USER=nocobase
          - DB_PASSWORD=nocobase
          - LOCAL_STORAGE_BASE_URL=http://192.168.0.197:13000/storage/uploads
        volumes:
          - ./storage:/app/nocobase/storage
        ports:
          - "13000:80"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 第三步、执行下面的命令,在 portainer 中执行也是可以的

    后面虽然数据库不同,但是执行命令是一样的,不同的只是 docker-compose.yml 文件

    # 新建文件夹 nocobase 和 子目录
    mkdir -p /volume2/docker/nocobase/{mdata,pdata,storage}
    
    # 进入 nocobase 目录
    cd /volume2/docker/nocobase
    
    # 将 docker-compose.yml 放入当前目录
    
    # 一键启动
    docker-compose up -d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 第四步、在浏览器中输入 http://群晖IP:13000,页面空白,右上侧闪过红叉

    从日志看有报错

    在这里插入图片描述

    但是检查数据库,已经生成了表

    在这里插入图片描述

    MySQL(失败)

    这部分只是记录折腾的过程,但并没有成功,所以你完全可以跳过这个章节

    version: "3"
    
    services:
      app:
        image: nocobase/nocobase:0.7.0-alpha.78
        networks:
          - nocobase
        depends_on:
          - mysql
        environment:
          - DB_DIALECT=mysql
          - DB_HOST=mysql
          - DB_PORT=3306
          - DB_DATABASE=nocobase
          - DB_USER=nocobase
          - DB_PASSWORD=nocobase
          - LOCAL_STORAGE_BASE_URL=http://192.168.0.197:13000/storage/uploads
        volumes:
          - ./storage:/app/nocobase/storage
        ports:
          - "13000:80"
      mysql:
        image: mysql:8
        volumes:
           - ./mdata:/var/lib/mysql
        environment:
          - MYSQL_DATABASE=nocobase
          - MYSQL_USER=nocobase
          - MYSQL_PASSWORD=nocobase
          - MYSQL_ROOT_PASSWORD=nocobase
        restart: always
        command: --character-set-server=utf8 --collation-server=utf8_unicode_ci
        networks:
          - nocobase
    
    networks:
      nocobase:
        driver: bridge
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    这个表现症状虽然和 MariaDB 一样,但实际上从日志看是没有连上数据库,这个就比较奇怪了,感觉似乎是 Sequelize.js 这个 ORM 库设置上存在问题,但老苏不是程序员,没法验证。

    SQLite(成功)

    折腾 MariaDBMySQL 花了很长时间,但是老苏并不甘心就这样放弃,所以又折腾了 SQLite

    version: "3"
    
    services:
      app:
        image: nocobase/nocobase:0.7.0-alpha.78
        container_name: nocobase
        networks:
          - nocobase
        environment:
          - LOCAL_STORAGE_BASE_URL=http://192.168.0.197:13000/storage/uploads
        volumes:
          - ./storage:/app/nocobase/storage
        ports:
          - "13000:80"
    
    networks:
      nocobase:
        driver: bridge
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    日志中一切正常,很顺利的出现了登录界面

    在这里插入图片描述

    PostgreSQL(成功)

    受到 SQLite 成功的鼓舞,老苏又测试了 PostgreSQL,也成功的出现了登录界面

    version: "3"
    
    services:
      app:
        image: nocobase/nocobase:0.7.0-alpha.78
        networks:
          - nocobase
        environment:
          - DB_DIALECT=postgres
          - DB_HOST=postgres
          - DB_DATABASE=nocobase
          - DB_USER=nocobase
          - DB_PASSWORD=nocobase
          - LOCAL_STORAGE_BASE_URL=http://192.168.0.197:13000/storage/uploads
        volumes:
          - ./storage:/app/nocobase/storage
        ports:
          - "13000:80"
        depends_on:
          - postgres
      postgres:
        image: postgres:14
        restart: always
        networks:
          - nocobase
        command: postgres -c wal_level=logical
        volumes:
          - ./pdata:/var/lib/postgresql/data
        environment:
          POSTGRES_USER: nocobase
          POSTGRES_DB: nocobase
          POSTGRES_PASSWORD: nocobase
    
    networks:
      nocobase:
        driver: bridge
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    小结

    老苏测试的时候,nocobaselatest 版本对应的是 0.7.0-alpha.78,目前看来,要想跑起来,数据库暂时不能选择 MySQLMariaDB,至于是用 PostgreSQL 还是 SQLite ,看你的应用场景了,只是随便用用,SQLite 就足够了

    运行

    在浏览器中输入 http://群晖IP:13000 就能看到登录界面

    初始化账号和密码是 admin@nocobase.comadmin123

    在这里插入图片描述

    登录成功后的主界面还是空空

    在这里插入图片描述

    设置中文

    安装完成之后,看官方文档发现可以用环境变量 INIT_APP_LANG 设置语言,默认是 en-US,可选项还有 zh-CN

    点右上角的管理员,弹出的菜单中选择简体中文即可

    关于使用,官方有详细的教程,例如: 5分钟上手(https://docs-cn.nocobase.com/user-manual/introduction/5-minutes-to-get-started),图文并茂还有动图,而且还是中文的,所以功能就留给大家自己研究吧。

    参考文档

    nocobase/nocobase: NocoBase is a scalability-first, open-source no-code/low-code platform to build internal tools.
    地址:https://github.com/nocobase/nocobase

    介绍 - NocoBase
    地址:https://docs-cn.nocobase.com/

    Docker 安装 (👍 推荐) - NocoBase
    地址:https://docs-cn.nocobase.com/getting-started/installation/docker-compose

  • 相关阅读:
    清洁机器人之BMS
    Oracle查询
    如何将LLM 集成到自动化生产系统
    DataLeap 数据资产实战:如何实现存储优化?
    appscan的两种手动探索扫描方式
    JavaSE 第七章 面向对象基础(下)接口&内部类&包装类&注解
    kafka基础(1):官网解读-INTRODUCTION
    【含2023java面试题】深入解析JVM调优:解决OutOfMemoryError、内存泄露、线程死锁、锁争用和高CPU消耗问题
    Mac系统配置k8s completion命令补全
    穿仓与均摊
  • 原文地址:https://blog.csdn.net/wbsu2004/article/details/125470689