MapleBoot Open-Source Project Startup and Deployment Tutorial

Lightweight Rapid Development Scaffold

A lightweight rapid development scaffolding built with SpringBoot and Vue3. This is a universal full-stack project template for quickly building management systems, with built-in code generation capabilities for SpringBoot and Vue projects, and is an actively maintained open-source collaborative project.

Official repository addresses are available on both GitHub and Gitee; refer to the project's official hosting pages for direct clone links.


Prerequisites

This guide uses a Windows development environment with IntelliJ IDEA as the primary IDE. The project requires the following dependencies and tools:

  • JDK 8 (LTS release recommended)
  • Apache Maven 3.6+
  • MySQL 8.0+
  • Redis 3.2 or later
  • Node.js 16+
  • IntelliJ IDEA (or Visual Studio Code for frontend-only development)

Installation guides for these tools can be found in standard technical references.

Clone the Project

Clone the repository to your local machine using your preferred Git client.

Import the Project

Open the project via IntelliJ IDEA's File > Open menu. If you plan to use VS Code for frontend development, only import the maple-admin backend module through Maven. Wait for the IDE to finish loading all Maven dependencies.

Install Frontend Dependencies

Install frontend dependencies by opening a terminal window, navigating to the maple-web directory, and running the standard npm install command. If you encounter slow download speeds, use the Taobao npm mirror with cnpm install instead:

cd maple-web
npm install

Initialize Database

  1. Create a new MySQL database named maple-boot
  2. Import the table structure and initial seed data from the schema.sql file located in the project resources. A future database version management tool will automate this setup process.
  3. Modify the database connection settings in the application-dev.yml file under the maple-admin-rest module. Udpate the username, password, and connection URL to match your local MySQL instance:
spring:
  datasource:
    dynamic:
      primary: default_ds
      strict: false
      datasource:
        default_ds:
          url: jdbc:mysql://127.0.0.1:3306/maple-boot?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
          username: your_mysql_username
          password: your_mysql_password
          driver-class-name: com.mysql.cj.jdbc.Driver

Configure Redis

Start your local Redis server, then update the Redis connection parameters in the same application-dev.yml file. The project uses Redis only for token expiration management and session invalidation during login; you can modify or remove this integration if you do not wish to use Redis:

spring:
  redis:
    database: 0
    host: 127.0.0.1
    password: your_redis_password
    port: 6379

Start the Project

Start the SpringBoot Backend

First, configure the server port and active environment in the application.yml file under the maple-admin-rest module. Set the server port to 6666 (if you change this port, update the frontend API request target to match) and set the active profile to dev:

server:
  port: 6666

spring:
  profiles:
    active: dev

You can start the backend service either via the IDE's run toolbar or by directly executing the main class annotated with @SpringBootApplication.

Start the Vue3 Frontend

Update the backend API base URL in the vite.config.ts configuration file. The backend admin API routes are prefixed with /manage by default. Navigate to the maple-web directory in your terminal and run the development server with:

npm run dev

A successful startup will display a local development URL in the terminal output.

Validate Successful Startup

Copy the local development URL from the front end terminal output, open it in a Chrome browser, and you will see the project's login page. Use the default admin credentials to log in; a successful login confirms the project is running correct.


Project Deployment on Linux with Docker

This deployment workflow requires Docker to be installed on your target Linux server. Refer to official Docker documentation for installation instructions.

Backend Deployment

  1. Modify the production configuration files to match your server's environment, then package the backend module into a runnable JAR file using Maven:
cd maple-admin-rest
mvn clean package -DskipTests
  1. Upload the generated JAR file and a Dockerfile to the same target directory on your server.
  2. Build the Docker image using the following command:
docker build -t maple-boot-backend:v1.0.0 .
  1. Start the backend container with port mapping and proper privileges:
docker run -d --privileged=true --name maple-boot-backend -p 6666:6666 <your-image-id>
  1. Verify the container is running with docker ps, and access the API documentation at http://your-server-ip:6666/doc.html. The default Knife4j basic auth credentials are configured in application-dev.yml:
knife4j:
  enable: true
  production: false
  basic:
    enable: true
    username: admin
    password: 123456

Frontend Deployment

  1. Update the production API base URL in the .env.production file located in the maple-web directory:
VITE_API_URL = http://your-server-ip:6666/manage/
  1. Build the production frontend bundle:
npm run build
  1. Upload the generated dist folder to your server's target directory, for example /data/maple-boot-web/web.
  2. Pull the official Nginx Docker image, then start an Nginx container to serve the static frontend files:
docker pull nginx:latest
docker run -d -p 80:80 -v /data/maple-boot-web/web:/usr/share/nginx/html --name maple-boot-frontend <nginx-image-id>

Access the deployed application via your server's public IP address to complete the deployment.

Tags: SpringBoot vue3 docker Quick Development Scaffold Open Source

Posted on Fri, 04 Sep 2026 16:09:45 +0000 by henrygao