使用Docker compose 安装 GitFox 服务

2026-11-01 08:33:00
丁国栋
原创 12
摘要:本文记录和整理如何使用Docker compose安装禅道软件的GitFox服务。

GitFox 是一款由禅道软件团队开发的开源的DevOps平台,深度集成代码托管、CI/CD、自动化测试等工具链,轻量化架构支持私有部署,帮助企业打通从需求到上线的研发全流程。

选择一个适合放应用的目录,比如 /opt/zentao 或者 /data/apps/zentao.


1. 创建一个 .env 文件。

SERVER_IP=10.0.4.5

关于 SERVER_IP 的值:如果是局域网使用则是本地IP,如果是公网使用则填写公网IP,建议使用域名。


2. 创建一个 docker-compose.yaml 文件,内容如下:


services:
  gitfox-mysql:
    image: hub.zentao.net/app/mysql:8.0.36-debian
    container_name: gitfox-mysql
    restart: unless-stopped
    ports:
      - '127.0.0.1:3306:3306'
    volumes:
      - ./gitfox-mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=pass4Zentao
      - MYSQL_DATABASE=zentao
    networks:
      - gitfox-net
    healthcheck:
      test: ["CMD-SHELL", "mysqladmin ping -h127.0.0.1 -uroot -p$$MYSQL_ROOT_PASSWORD"]
      interval: 3s
      timeout: 3s
      retries: 10
      start_period: 20s
  gitfox-frontend:
    image: hub.zentao.net/test/gitfox-front:22.7-20261030
    pull_policy: always
    container_name: gitfox-frontend
    restart: unless-stopped
    ports:
      - '80:80'
    volumes:
      - ./gitfox-data:/data
    depends_on:
      gitfox-mysql:
        condition: service_healthy
    environment:
      - ZT_MYSQL_HOST=gitfox-mysql
      - ZT_MYSQL_PORT=3306
      - ZT_MYSQL_USER=root
      - ZT_MYSQL_PASSWORD=pass4Zentao
      - ZT_MYSQL_DB=zentao
      - PHP_MAX_EXECUTION_TIME=120
      - PHP_MEMORY_LIMIT=512M
      - PHP_POST_MAX_SIZE=128M
      - PHP_UPLOAD_MAX_FILESIZE=128M
    healthcheck:
      test: ["CMD", "curl", "-fsS", "http://127.0.0.1:80"]
      interval: 5s
      timeout: 3s
      retries: 3
      start_period: 15s
    networks:
      - gitfox-net
  gitfox-backend:
    image: hub.zentao.net/app/gitfox-community:4.4-20261030
    pull_policy: always
    container_name: gitfox-backend
    restart: unless-stopped
    ports:
      - '3000:3000'
      - '3322:3322'
    volumes:
      - ./gitfox-file:/data
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      gitfox-mysql:
        condition: service_healthy
    environment:
      - GITFOX_SERVER_PROTO=http
      - GITFOX_SERVER_HOST=${SERVER_IP:?SERVER_IP must be set in .env}
      - GITFOX_HTTP_PORT=3000
      - GITFOX_SSH_PORT=3322
      - GITFOX_DEVOPS_URL=http://${SERVER_IP:?SERVER_IP must be set in .env}/api.php/v1
      - GITFOX_DB_HOST=gitfox-mysql
      - GITFOX_DB_PORT=3306
      - GITFOX_DB_USER=root
      - GITFOX_DB_PASSWORD=pass4Zentao
      - GITFOX_DB_NAME=zentao
      - GITFOX_DB_TIMEZONE=Asia/Shanghai
    healthcheck:
      test: ["CMD", "curl", "-fsS", "http://127.0.0.1:3000/public/health"]
      interval: 5s
      timeout: 3s
      retries: 3
      start_period: 15s
    networks:
      - gitfox-net
networks:
  gitfox-net:
    driver: bridge

使用 docker compose up -d 启动。


发表评论
验证码 =
博客分类