7b2f3d77ca
- 新增 backend/design/支付模块架构概览.md - 新增 backend/design/支付模块数据库设计.md (21张表 DDL) - 新增 backend/design/支付模块接口设计.md - git.dev.vifo.cc → git.vifo.cc 全局替换
135 lines
3.9 KiB
YAML
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 |