• 首页
  • 产品中心
    • 数式Oinone四大产品

      低代码开发平台无代码开发平台集成开发平台AI大模型开发
    • 数式Oinone体系能力

      用户与组织权限管理文件管理消息中心国际化业务审计
    • 数式Oinone核心产品特性

      低无一体面向软件公司场景无限制应用级扩容可分可合
  • 服务中心
    • 客户服务

      预约演示方案咨询私有部署找人定制
    • 开发者

      问答下载
    • Oinone学院

      社区学习

    《精讲面向软件公司的低代码平台——以Oinone为例》

  • 合作伙伴
    渠道申请伙伴名录专家库
  • 关于数式
0571-88757863

Source code installation


Ⅰ. Overview

Note

This mode is only available for the open-source community edition. The enterprise edition supports installation via various other methods.

The basic requirement is to prepare a Linux server with 4 CPU cores and 16GB of memory. The recommended operating system is CentOS 7.6 64-bit, which comes pre-installed with all dependencies required by the Oinone framework, along with common and useful utility packages.

This approach offers greater flexibility. For instance, it allows specific modules to be run according to business requirements. It is sufficient for module development and can serve as a foundation for production deployment. In actual use, middleware services such as Redis, Zookeeper, and RocketMQ can be deployed on independent servers. The deployment architecture is shown below:

Deployment Structure
Deployment Structure

Tip

When modifying the Oinone framework source code during source code installation, you cannot directly switch from the community edition to the enterprise edition. However, for other versions, switching from the community edition to the enterprise edition is supported.

Ⅱ. Install MySQL Database

If you don't already have a database installed, you can download and install MySQL from the official website: https://dev.mysql.com/downloads/mysql/.

Refer to MySQL Installation and Precautions

Ⅲ. Deployment of Other Middleware

ComponentRequiredVersion
RocketMQYesVersion 4.7.1 or higher
RedisYesVersion 5.0.2 or higher
ZookeeperYesVersion 3.5.8 or higher

Ⅳ. Introduction to Code Repositories

DescriptionCode Repository PathRemarks
Quick Startoinone/oinone-frontend-starter.gitOne-click startup for web front-end
oinone/oinone-mobile-starter.gitOne-click startup for mobile front-end
oinone/oinone-backend-starter.gitOne-click startup for back-end
Tutorialsoinone/oinone-frontend-tutorials.gitFront-end tutorial project
oinone/oinone-backend-tutorials.gitBack-end tutorial project
Examplesoinone/oinone-frontend-examples.gitFront-end sample project
oinone/oinone-backend-examples.gitBack-end sample project
Documentationoinone/oinone-docsTechnical documentation
Back-end Core Packagesoinone/oinone-pamirs/pamirs-spi.gitBack-end SPI basic functionality package
oinone/oinone-pamirs/pamirs-k2.gitBack-end metadata core functionality
oinone/oinone-pamirs/pamirs-framework-commons.gitBack-end shared functionality core package
oinone/oinone-pamirs/pamirs-framework.gitBack-end core functionality package
oinone/oinone-pamirs/pamirs-framework-adaptor.gitBack-end core extension package
oinone/oinone-pamirs/pamirs-boot.gitBack-end application bootstrap package
Back-end Utility Packageoinone/oinone-pamirs/pamirs-core.gitBack-end basic utility package
Front-end Core Packagesoinone/oinone-kunlun/kunlun-engine.gitFront-end extended core functionality
oinone/oinone-kunlun/kunlun-framework.gitFront-end core functionality package
oinone/oinone-kunlun/kunlun-boot.gitFront-end PC bootstrap project
oinone/oinone-kunlun/kunlun-mobile-boot.gitFront-end mobile bootstrap project
oinone/oinone-kunlun/kunlun-expression.gitFront-end expression component library
oinone/oinone-kunlun/kunlun-vue.gitFront-end PC component library
oinone/oinone-kunlun/kunlun-mobile-vue.gitFront-end mobile component library

Tip: Differences between oinone-backend-starter.git and oinone-backend-tutorials.git:

  1. starter depends on all oinone modules, while tutorials depends on some modules.
  2. starter requires mysql, redis, zookeeper, and mq; tutorials depends on mysql and redis, and other components will be gradually introduced when new features are added later.
  3. Examples may be added to oinone-backend-tutorials in the future. Currently, we are quite hesitant about whether to include examples from the tutorials. The original intention of not adding examples now is to encourage learners to actually do it themselves.

Ⅴ. Obtain the Source Code

There are two ways to acquire the source code of Shushi Oinone: download the ZIP package or use Git. This documentation focuses on Git.

Tip

Please install Git. We recommend having basic knowledge of Git commands.

You can use either HTTPS or SSH to clone the Git repositories. HTTPS is recommended for most users. Use SSH if you want to contribute to the source code or follow the developer onboarding guide.

(Ⅰ) Front-end

# Clone using HTTPS
git clone https://github.com/oinone/oinone-frontend-starter.git

# Clone using SSH
git clone git@github.com:oinone/oinone-frontend-starter.git

(Ⅱ) Back-end

# Clone using HTTPS
git clone https://github.com/oinone/oinone-backend-starter.git

# Clone using SSH
git clone git@github.com:oinone/oinone-backend-starter.git

Ⅵ. Run the Back-end

(Ⅰ) Modify the src/main/resources/config/application-dev.yml file

If MySQL, Zookeeper, Redis, and RocketMQ are not on the same machine, you need to find the relevant code and modify IP, port, username, password, etc.

MySQL

# Modify the MySQL connection information
pamirs:
  datasource:
    pamirs:
      driverClassName: com.mysql.cj.jdbc.Driver
      type: com.alibaba.druid.pool.DruidDataSource
      url: jdbc:mysql://192.168.0.129:3306/demo_pamirs?...
      username: root
      password: shushi@2019
    base:
      driverClassName: com.mysql.cj.jdbc.Driver
      type: com.alibaba.druid.pool.DruidDataSource
      url: jdbc:mysql://192.168.0.129:3306/demo_base?...
      username: root
      password: shushi@2019

Zookeeper

dubbo:
  application:
    name: pamirs-designer
    version: 1.0.0
  registry:
    address: zookeeper://127.0.0.1:2181
  protocol:
    name: dubbo
    port: 20880
    serialization: pamirs
  ...
pamirs:
  zookeeper:
    zkConnectString: 127.0.0.1:2181
    zkSessionTimeout: 60000
    rootPath: /oinone

Redis

spring:
  redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    timeout: 2000
    password: Abc@1234
    jedis:
      pool:
        max-idle: 16
        min-idle: 0
        max-active: 16
        max-wait: 3000

RocketMQ

spring:
  rocketmq:
    name-server: 127.0.0.1:9876

File Storage OSS

cdn:
  oss:
    name: MINIO
    type: MINIO
    bucket: pamirs
    uploadUrl: http://xxx.xxx.xxx.xxx:9000
    downloadUrl: http://xxx.xxx.xxx.xxx:9000
    accessKeyId: xxx
    accessKeySecret: xxx
    mainDir: upload/demo/
    validTime: 3600000
    timeout: 600000
    active: true
    referer:
    localFolderUrl:

Warning

For enterprise edition trials, Shushi provides default CDN configuration. In production environments, you must replace it with your own CDN server. The test server will be periodically cleared, and file loss may occur.

For more OSS configurations, see: File Storage Configuration

(Ⅱ) Start the Back-end Service

1. Use Maven

cd oinone-backend-starter/oinone-backend-starter-boot && \
mvn clean compile spring-boot:run \
    -Dspring-boot.run.profiles=dev

2. Use IntelliJ IDEA

Import the oinone-backend-starter project into IDEA and set pro.shushi.pamirs.starter.OinoneBackendStarterApp as the main class.

Successful startup message:

Oinone Backend Starter App started in 54.168926917 s

Ⅶ. Run the Front-end

(Ⅰ) Configure API Endpoint

1. For Development Modify devServer.proxy.pamirs.target in vue.config.js

2. For Production Modify API_BASE_URL in .env

Method 1 has higher precedence than Method 2. To use Method 2, delete Method 1.

(Ⅱ) Static Resources

├── public
└────static.zip

Extract static.zip into the public directory.

It is recommended to upload static resources to OSS and set STATIC_IMG in .env to the OSS address.

(Ⅲ) Install Dependencies and Start

# initialize dependencies
npm i

# run application for development mode
npm run dev

(Ⅳ) Directory Structure

├── public               Static resource directory (contains index.html)
│   └── static           Static assets
│
├── src                  Source code
│   └── main.ts          Entry file, registers `providers/application.ts`
├── .env                 Environment variables file
├── package.json         Project dependencies and scripts
├── tsconfig.json        TypeScript configuration
└── vue.config.js        Vue/Webpack configuration, including dev proxy
Edit this page
Last Updated:1/15/26, 4:02 AM
Prev
Maven Installation and Precautions
Next
Quick Experience:Installation in docker-full Mode
默认页脚
Copyright © 2026 Mr.Hope