spug Docker & Self-Hosted Deployment

GitHub

Spug is a lightweight agent-free automatic operation and maintenance platform designed for small and medium-sized enterprises.

11,102 stars JavaScript JavaScript 5 files · ~2,541 tokens #alert#ci#cicd#cmdb#deploy#devops#django-ops#jenkins
RAW Compose
1. Pull Image (DOCKERHUB) docker pull openspug/spug-service
2. Docker Run (1-Click Launch) docker run -d --name spug -p 80:80 --restart always openspug/spug-service:4.0
3. Podman Run podman run -d --name spug -p 80:80 --restart always openspug/spug-service:4.0
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/openspug/spug-service:4.0
5. ORAS Pull (OCI Artifact) oras pull openspug/spug-service:4.0
6. Compose Deployment docker compose up -d
docs/docker/docker-compose.yml
Download .yml
version: "3.3"
services:
  db:
    image: mariadb:10.8
    container_name: spug-db
    restart: always
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    volumes:
      - /data/spug/mysql:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=spug
      - MYSQL_USER=spug
      - MYSQL_PASSWORD=spug.cc
      - MYSQL_ROOT_PASSWORD=spug.cc
  spug:
    # 镜像只包含运行环境(Python/Django 4.2 等),按 4.0 大版本维护;具体代码版本由下面的
    # SPUG_DOCKER_VERSION 决定,4.0.x 的补丁版本只需改该变量,不必换镜像
    image: openspug/spug-service:4.0
    container_name: spug
    privileged: true
    restart: always
    volumes:
      - /data/spug/service:/data/spug
      - /data/spug/repos:/data/repos
    ports:
      # 如果80端口被占用可替换为其他端口,例如: - "8000:80"
      - "80:80"
    environment:
      # 代码版本(git 标签名),容器首次启动时按此值从 gitee 拉取代码并下载
      # 同名前端产物 https://cdn.spug.cc/spug/web_${SPUG_DOCKER_VERSION}.tar.gz,
      # 因此标签与 CDN 文件名必须配套。4.0 镜像预装 Django 4.2 / channels 4,
      # 只能运行 4.x 代码,不能用于 3.x 版本。
      - SPUG_DOCKER_VERSION=v4.0.1
      - MYSQL_DATABASE=spug
      - MYSQL_USER=spug
      - MYSQL_PASSWORD=spug.cc
      - MYSQL_HOST=db
      - MYSQL_PORT=3306
    depends_on:
      - db