SpringBlade Docker & Self-Hosted Deployment

GitHub

SpringBlade 是一个由商业级项目升级优化而来的微服务架构,采用Spring Boot 4 、Spring Cloud 2025、Java 21 等核心技术构建,完全遵循阿里巴巴编码规范。提供基于React和Vue的两个前端框架用于快速搭建企业级的SaaS多租户微服务平台。

6,955 stars Java Java 14 files · ~12,504 tokens
RAW Compose
1. Pull Image (DOCKERHUB) docker pull nacos/nacos-server
2. Docker Run (1-Click Launch) docker run -d --name springblade -p 8848:8848 --restart always nacos/nacos-server:v3.2.4
3. Podman Run podman run -d --name springblade -p 8848:8848 --restart always nacos/nacos-server:v3.2.4
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/nacos/nacos-server:v3.2.4
5. ORAS Pull (OCI Artifact) oras pull nacos/nacos-server:v3.2.4
6. Compose Deployment docker compose up -d
script/docker/docker-compose.yml
Download .yml
version: '3'
services:
  nacos:
    image: nacos/nacos-server:v3.2.4
    hostname: "nacos-standalone"
    environment:
      - NACOS_AUTH_ENABLE=true
      - NACOS_AUTH_CACHE_ENABLE=true
      - NACOS_AUTH_IDENTITY_KEY=nacos
      - NACOS_AUTH_IDENTITY_VALUE=nacos
      - NACOS_AUTH_TOKEN= # 启动前必须填写:Base64编码、≥32字节的密钥,鉴权开启时空值将无法启动。规则见 https://nacos.io/docs/next/manual/user/auth/
      - MODE=standalone
      - TZ=Asia/Shanghai
    volumes:
      - /docker/nacos/data:/home/nacos/data
      - /docker/nacos/standalone-logs/:/home/nacos/logs
      - /docker/nacos/conf/application.properties:/home/nacos/conf/application.properties:ro
    ports:
      - 8848:8848
      - 9848:9848
      - 8080:8080
    networks:
      blade_net:
        ipv4_address: 172.30.0.48

  sentinel:
    image: bladex/sentinel-dashboard:1.8.9
    hostname: "sentinel"
    ports:
      - 8858:8858
    restart: on-failure
    networks:
      blade_net:
        ipv4_address: 172.30.0.58

  blade-nginx:
    image: nginx:stable-alpine-perl
    hostname: "blade-nginx"
    ports:
    - 88:88
    volumes:
    - /docker/nginx/api/nginx.conf:/etc/nginx/nginx.conf
    privileged: true
    restart: always
    networks:
    - blade_net

  web-nginx:
    image: nginx:stable-alpine-perl
    hostname: "web-nginx"
    ports:
      - 8000:8000
    volumes:
      - /docker/nginx/web/html:/usr/share/nginx/html
      - /docker/nginx/web/nginx.conf:/etc/nginx/nginx.conf
    privileged: true
    restart: always
    networks:
      - blade_net

  blade-redis:
    image: redis:7-alpine
    hostname: "blade-redis"
    ports:
    - 3379:6379
    volumes:
    - /docker/redis/data:/data
    command: "redis-server --appendonly yes"
    privileged: true
    restart: always
    networks:
    - blade_net

  blade-admin:
    image: "${REGISTER}/blade-admin:${TAG}"
    ports:
    - 7002:7002
    privileged: true
    restart: always
    networks:
    - blade_net

  blade-gateway1:
    image: "${REGISTER}/blade-gateway:${TAG}"
    privileged: true
    restart: always
    networks:
      blade_net:
        ipv4_address: 172.30.0.81

  blade-gateway2:
    image: "${REGISTER}/blade-gateway:${TAG}"
    privileged: true
    restart: always
    networks:
      blade_net:
        ipv4_address: 172.30.0.82

  blade-auth1:
    image: "${REGISTER}/blade-auth:${TAG}"
    privileged: true
    restart: always
    networks:
      blade_net:
        ipv4_address: 172.30.0.91

  blade-auth2:
    image: "${REGISTER}/blade-auth:${TAG}"
    privileged: true
    restart: always
    networks:
      blade_net:
        ipv4_address: 172.30.0.92

  blade-report:
    image: "${REGISTER}/blade-report:${TAG}"
    privileged: true
    restart: always
    networks:
      blade_net:
        ipv4_address: 172.30.0.98

  blade-log:
    image: "${REGISTER}/blade-log:${TAG}"
    privileged: true
    restart: always
    networks:
    - blade_net

  blade-desk:
    image: "${REGISTER}/blade-desk:${TAG}"
    privileged: true
    restart: always
    networks:
    - blade_net

  blade-system:
    image: "${REGISTER}/blade-system:${TAG}"
    privileged: true
    restart: always
    networks:
    - blade_net

  blade-resource:
    image: "${REGISTER}/blade-resource:${TAG}"
    privileged: true
    restart: always
    networks:
      - blade_net

  blade-develop:
    image: "${REGISTER}/blade-develop:${TAG}"
    privileged: true
    restart: always
    networks:
      - blade_net

networks:
  blade_net:
    driver: bridge
    ipam:
      config:
      - subnet: 172.30.0.0/16