Files
rui-docs/gitea-runner-docker-compose.yml
vifo 7b2f3d77ca docs: 支付模块开发文档 + git 域名更新
- 新增 backend/design/支付模块架构概览.md
- 新增 backend/design/支付模块数据库设计.md (21张表 DDL)
- 新增 backend/design/支付模块接口设计.md
- git.dev.vifo.cc → git.vifo.cc 全局替换
2026-06-09 01:54:29 +08:00

135 lines
3.9 KiB
YAML

services:
gitea:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=sqlite3
- GITEA__server__DOMAIN=git.vifo.cc
- GITEA__server__ROOT_URL=https://git.vifo.cc
- GITEA__server__SSH_DOMAIN=git.vifo.cc
- GITEA__actions__ENABLED=true
- GITEA__webhook__ALLOWED_HOST_LIST=*
# 或者只允许特定网段:
# - GITEA__webhook__ALLOWED_HOST_LIST=172.22.0.0/16,172.17.0.0/16,localhost,127.0.0.1
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
# 可选:Gitea Actions Runner(执行 CI/CD 任务)
# 通用 Runner(保持默认)
runner-default:
image: gitea/act_runner:nightly
restart: always
container_name: runner-default
environment:
CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: "https://git.vifo.cc"
GITEA_RUNNER_REGISTRATION_TOKEN: "${GITEA_RUNNER_TOKEN}"
GITEA_RUNNER_NAME: "runner-default"
GITEA_RUNNER_LABELS: "ubuntu-latest:docker://node:20-slim"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /root/.docker:/root/.docker # 共享 Docker 配置
- ./config-default.yaml:/config.yaml
# npm/pnpm 缓存(用于前端任务)
- npm-cache:/root/.npm
- pnpm-store:/root/.local/share/pnpm/store
- pnpm-cache:/root/.cache/pnpm
networks:
- gitea
# Node.js 专用 Runner(前端项目)
runner-node:
image: gitea/act_runner:nightly
restart: always
container_name: runner-node
environment:
CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: "https://git.vifo.cc"
GITEA_RUNNER_REGISTRATION_TOKEN: "${GITEA_RUNNER_TOKEN}"
GITEA_RUNNER_NAME: "runner-node"
GITEA_RUNNER_LABELS: "node:docker://node:20-slim,ubuntu-latest:docker://node:20-slim"
HTTP_PROXY: http://192.168.31.125:7899
HTTPS_PROXY: http://192.168.31.125:7899
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /root/.docker:/root/.docker # 共享 Docker 配置
- ./config-node.yaml:/config.yaml
# npm 全局缓存(安装 pnpm 用)
- npm-cache:/root/.npm
# pnpm store 缓存(安装依赖用)
- pnpm-store:/root/.local/share/pnpm/store
# pnpm 全局包缓存
- pnpm-cache:/root/.cache/pnpm
# 构建产物输出目录(挂载到宿主机网站目录)
- /www/wwwroot/admin:/opt/builds
networks:
- gitea
# Java 专用 Runner(后端项目)
runner-java:
image: gitea/act_runner:nightly
container_name: runner-java
restart: always
environment:
CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: "https://git.vifo.cc"
GITEA_RUNNER_REGISTRATION_TOKEN: "${GITEA_RUNNER_TOKEN}"
GITEA_RUNNER_NAME: "runner-java"
GITEA_RUNNER_LABELS: "java:docker://maven:3.9-eclipse-temurin-17,ubuntu-latest:docker://maven:3.9-eclipse-temurin-17"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /root/.docker:/root/.docker # 共享 Docker 配置
- ./config-java.yaml:/config.yaml
# 缓存 Maven 依赖
- maven-repo:/root/.m2
networks:
- gitea
webhook-bridge:
build:
context: ./webhook-bridge
container_name: gitea-dingtalk-bridge
restart: always
ports:
- "3001:3001"
environment:
- PORT=3001
- DINGTALK_WEBHOOK=${DINGTALK_WEBHOOK_URL}
# 如果需要加签,取消下面注释并设置密钥
# - DINGTALK_SECRET=your-secret
networks:
- gitea
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://localhost:3001/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
volumes:
pnpm-store:
pnpm-cache:
npm-cache:
maven-repo:
networks:
gitea:
external: false