Skip to content

julxxy/xxl-job-r3

 
 

Repository files navigation

XXL-JOB-R3

Docker Pulls Docker Image Version Docker Image Size GitHub Release

This is the back-end service for The third-party React-based web admin panel for XXL-JOB, forked from XXL-JOB.

🐳 Docker Quick Start

Pull and Run

# Pull the latest image
docker pull julxxy/xxl-job-r3:latest

# Quick start with Docker
JAVA_OPTS="-Xmx512m -Xms512m"
SPRING_ARGS="--server.servlet.context-path=/xxl-job-admin \
--spring.datasource.url=jdbc:mysql://your-db-ip:3306/xxl_job \
--spring.datasource.username=root \
--spring.datasource.password=password"

docker run -d --name xxl-job-r3 \
  -p 8080:8080 \
  -e TZ=Asia/Shanghai \
  -e JAVA_OPTS="${JAVA_OPTS}" \
  -e SPRING_ARGS="${SPRING_ARGS}" \
  julxxy/xxl-job-r3:latest

Docker Compose

version: '3.8'
services:
  xxl-job-r3:
    image: julxxy/xxl-job-r3:latest
    container_name: xxl-job-r3
    ports:
      - "8081:8080"
    environment:
      SPRING_ARGS: >
        --spring.datasource.url=jdbc:mysql://mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
        --spring.datasource.username=root
        --spring.datasource.password=password
        --server.servlet.context-path=/xxl-job-admin
      JAVA_OPTS: "-Xms512m -Xmx1024m"
    volumes:
      - ./logs:/data/logs/xxl-job-r3/
    depends_on:
      - mysql
    restart: unless-stopped

  mysql:
    image: mysql:8.0
    container_name: xxl-job-mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: xxl_job
    volumes:
      - mysql_data:/var/lib/mysql
      - ./sql:/docker-entrypoint-initdb.d
    ports:
      - "3306:3306"
    restart: unless-stopped

volumes:
  mysql_data:

For more deployment options, see Docker Hub Repository.


🛠️ Development Setup

1. JDK

  • Required Version: JDK 17
  • Recommended: AdoptOpenJDK or Oracle JDK 17
  • Setup: Make sure the JAVA_HOME environment variable is set correctly and java -version outputs 17.x

2. Maven Build Tool

  • Required Version: Maven 3.6 or higher
  • Recommended: Maven 3.8.x
  • Setup: Ensure mvn -v outputs the correct Maven version information

3. Database

  • Type: MySQL
  • Minimum Version: MySQL 5.7 or higher (MySQL 8.0+ recommended)
  • JDBC Driver: mysql-connector-j 9.3.0
  • Setup: Please create the required database for XXL-JOB in advance and import the official SQL scripts

Clone, Build, and Run

4. Clone the Repository

git clone https://github.com/julxxy/xxl-job-r3.git
cd xxl-job-r3

5. Build the Project

mvn clean package -Dmaven.test.skip=true

6. Run the Admin Console

Navigate to the xxl-job-admin module and start the application:

cd xxl-job-admin
mvn spring-boot:run

or run the packaged jar:

java -jar target/xxl-job-admin-*.jar

7. Access the Admin Panel

See also: https://github.com/julxxy/xxl-job-panel-r3

8. Version Mapping

Check the compatibility between front-end and back-end versions: version-mapping.json

Front-end Back-end Description
v1.0.2 v3.1.2 LDAP login supported, menu permission fixes
v1.0.3 v3.1.2 Added new favicon.svg and multiple SVG icons, improved LDAP login button styling, enabled logo to redirect to GitHub, upgraded dependencies

Maintenance Note: Please update both the version-mapping.json file and the table above when adding new versions.


For more details, refer to the official XXL-JOB documentation.

About

A third-party React-based web back-end service for XXL-JOB-PANEL-R3.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.8%
  • Other 0.2%