With growing business changes, how can organizations innovate and meet their customers’ and users’ expectations in the right time-to-market? Business needs an Enterprise on-premise solution which allows them to bring all data together in their own server.
An on-premise solution is a software application or service that is installed and operated locally within an organization's own infrastructure or data center, it has the following benefits

CubeDrive on-premise solution lets business to build their data pipeline quickly. CubeDrive includes the following components:
Components | Description |
---|---|
Form builder | CubeDrive allows business to create forms dynamically using the drag and drop. User can add custom fields, generate page layouts, and apply data filters to the form. |
Flow builder | CubeDrive’s flow is used to automate business processes and add customers’ data-driven decisions to the application. |
Application builder | Application builder lets users connect different resources together in the custom layout with drag and drop method. |
Kanban builder | Business can link applications, add tasks, prepare plans, set background color, and even add formula to show dynamic information in the custom kanban. |
Online sheet | CubeDrive's sheet allows business to collaborate with online spreadsheet in real-time. Multiple users can sync edit the sheet at the same time, and every change is saved automatically. |
Online editor | CubeDrive's editor allows business to collaborate with online editor in real-time. Multiple users can sync edit at the same time. User can also call chatGPT as needed. |
Hardware requirements
Here comes the general requirements to setup CubeDrive Enterprise Application.
Accounts | Required Server |
---|---|
100 accounts (Small organization) | One Ubuntu 20.04 64bit server with 4 cores and 16G memory. |
1000 accounts (Medium organization) | Two Ubuntu 20.04 64bit server with 4 cores and 16G memory. |
10000 accounts (Large organization) | Six Ubuntu 20.04 64bit server with 4 cores and 16G memory. Two application server, two database server, two file upload server. |

Software requirements
Here lists mainly 3rd-party software needed for the system.
Name | Description |
---|---|
Angular | CubeDrive is based on Angular platform. Angular is a modern web developer's platform. For more detail, please visit: https://angular.io/ |
MySQL 5.7 and MongoDB 3.4 | MongoDB is a popular, open-source NoSQL database management system that uses a document-oriented data model. It is designed to be flexible, scalable, and easy to use. Instead of using traditional tables and rows, MongoDB stores data in flexible, JSON-like documents with dynamic schemas, allowing for fast and easy development and scaling. |
Java 1.8 | CubeDrive backend is written with Java language. |
Nginx | Nginx is often used as a reverse proxy, which means that it acts as a gateway between a client and a server. When a client requests a resource from a server, the request is first sent to Nginx, which then forwards the request to the appropriate server. This can help to distribute the workload across multiple servers, improve performance and reliability, and add an extra layer of security. |
Tomcat 8+ | We do not have special requirements for web application server. You can change Tomcat to Jboss, Weblogic etc and keep your current configuration. |
Spring framework | Spring Framework is a Java platform that provides comprehensive infrastructure support for developing Java applications. |
MyBatis | An ORM mapping tool. Which can be easily integrated into Hibernate or pure database query. |
Apache POI | An open source Java library to process MS Excel import and export. |
Install 3rd-party software
Here lists the general install process.
install java-8 sudo apt install openjdk-8-jdk install supervisor sudo apt install supervisor install wkhtmltopdf wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb
Install MongoDB docker run -d --name mongo-3.4 -v /data/mongo-3.4:/data/db -p 172.31.25.240:27017:27017 -p 127.0.0.1:27017:27017 -e MONGO_INITDB_ROOT_USERNAME="root" -e MONGO_INITDB_ROOT_PASSWORD="mongo-Paradigm-2022" --restart=always mongo:3.4.24 –auth Start MongoDB: mongo client: docker exec -it mongo-3.4 mongo use cubedrive db.auth("cubedrive","Roocae0k")
Install mysql-server docker run -d --name mysql-5.7 -v /data/mysql-5.7:/var/lib/mysql -p 172.31.25.240:3306:3306 -p 127.0.0.1:3306:3306 -e MYSQL_ROOT_PASSWORD="mysql-xxx-2022" --restart=always mysql:5.7 Access MySQL mysql -ucubedrive -p --host=127.0.0.1 --port=3306 username:cubedrive password: CUBEDRIVE_xxx_2023
Install redis-server docker run --name redis-6 -d -v /data/redis-6:/data -p 172.31.25.240:6379:6379 -p 127.0.0.1:6379:6379 --restart=always redis:6-alpine --appendonly yes --requirepass "Nohw6uag"
Update application
A script is created which can be used to update application as needed. Once CubeDrive have a new release. Business just need login system and process the update. Login to the system with username and password. And process the following steps:
Description | |
---|---|
Step 1 | [Option] CubeDrive will deliver the new updated SQL file. Business administrator needs put the SQL files into the folder in Server: /cubedrive/db/migration |
Step 2 |
Run the script
cd /cubedrive cubedrive@ip-172-31-25-240:~$ ./deploy_cubedrive.sh |
Step 3 | 2 min later, please check business URL. |
The script will merge DB, get package from CubeDrive, install, restart application and nginx. If everything is fine, your server will be auto restarted within 3 min.
cubedrive@ip-172-31-25-240:~$ more deploy_cubedrive.sh echo "migrate database" /cubedrive/flyway-7.15.0/flyway migrate echo "download cubedrive" curl -o /cubedrive/apps/cubedrive-webapp.jar https://www.cubedrive.com/deploy-ap ps/entsheet/cubedrive-webapp.jar echo "restart cubedrive" echo "xxxxxxxx" | sudo -S supervisorctl restart cubedrive echo "clean nginx cache and reload nginx" rm -rf /cubedrive/nginx/cache echo "xxxxxxxx" | sudo -S /cubedrive/nginx/sbin/nginx -c /cubedrive/nginx/conf/n ginx.conf -s reload
Database backup
Business needs backup the database daily. Login to the system with CubeDrive username. And process the following steps:
Description | |
---|---|
Step 1 |
Run the script
cubedrive@ip-172-31-25-240:~$ ./backup_data.sh |
Step 2 | Cd /cubedrive/backup Copy the latest file to your local |
Please have a look the script if needed
cubedrive@ip-172-31-25-240:~$ more backup_data.sh #!/bin/sh TIME=`date +%Y-%m-%d` FILENAME=backup-$TIME.tar.gz SQLDIR=/data/mysql-5.7 MongoDIR=/data/mongo-3.4 CubedriveDIR=/data/cubedrive DESTDIR=/cubedrive/backup #find $DESTDIR/* -mtime +6 -type f -delete echo "xxxx" | sudo tar -cpzf $DESTDIR/$FILENAME $SQLDIR $MongoDIR $CubedriveDIR cubedrive@ip-172-31-25-240:~$