Files
windychen-utils/.gitea/RUNNER-MAINTENANCE.md
2026-08-06 11:25:57 +08:00

1.7 KiB

Gitea Runner 自主维护配置指南

当前状态

  • Runner 名称: gitea-runner (online, label: docker)
  • 维护 workflow: .gitea/workflows/runner-maintenance.yaml (每 6 小时 + 手动触发)

宿主机 docker-compose 推荐配置

在 fnOS 上找到 gitea-runner 的 compose 文件,确保包含以下配置:

services:
  gitea:
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/api/healthz"]
      interval: 10s
      retries: 3
      start_period: 30s
      timeout: 10s

  gitea-runner:
    image: gitea/act_runner:latest
    container_name: gitea-runner
    restart: unless-stopped
    depends_on:
      gitea:
        condition: service_healthy
        restart: true
    volumes:
      - ./runner-data:/data
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - GITEA_INSTANCE_URL=https://gitea.windychen00n.work
      - GITEA_RUNNER_JOB_CONTAINER_NETWORK=<gitea所在docker网络名>
      # 首次注册时需要,之后可删除
      # - GITEA_RUNNER_REGISTRATION_TOKEN=<token>
    networks:
      - <gitea所在docker网络名>

networks:
  <gitea所在docker网络名>:
    external: true

查找 docker 网络名

在 fnOS SSH 执行:

docker inspect gitea --format "{{range $k,$v := .NetworkSettings.Networks}}{{$k}}{{end}}"
docker inspect gitea-runner --format "{{range $k,$v := .NetworkSettings.Networks}}{{$k}}{{end}}"

将 GITEA_RUNNER_JOB_CONTAINER_NETWORK 设为 gitea 容器所在的网络名, 这样 CI job 容器才能通过 http://gitea:3000 和 http://verdaccio:4873 访问内网服务。

应用后验证

docker compose up -d gitea-runner

然后在 Gitea 页面手动触发 "Runner Self-Maintenance" workflow,应全部通过。