diff --git a/apps/forgejo-runner-dind/README.md b/apps/forgejo-runner-dind/README.md deleted file mode 100644 index e57248e1c..000000000 --- a/apps/forgejo-runner-dind/README.md +++ /dev/null @@ -1,68 +0,0 @@ -# Forgejo Actions Runner - -**Forgejo Actions Runner** 是 Forgejo 的官方运行器组件,用于执行 CI/CD 工作流中的各类任务。它与 Forgejo Actions 系统集成,支持本地或远程运行任务,帮助用户构建自动化 DevOps 流程。 - -> 该容器基于Dind,安全性更强,与宿主机完全独立,基本没有越权,适合组织使用 - -适合希望**完全自托管** CI/CD 流水线的个人或组织部署使用。 - -## ✨ 特性 - -- 与 Forgejo Actions 完全集成 -- 支持自定义容器或直接在主机运行 -- 多 Runner 支持并行执行 -- 支持 amd64 / arm64 等架构 -- 简单易用,部署轻量 - -## ⚙️ 快速开始(Docker 部署) - -### 1. 启动 Forgejo 主服务(略) - -确保 Forgejo 主程序已部署并启用了 Actions 功能。 - -### 2. 运行 Action Runner 容器 - -```bash -docker run -d --name forgejo-runner \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -v /opt/runner:/data \ - codeberg.org/forgejo/runner:latest -``` - -### 3. 初始化注册 - -首次运行后,进入容器进行注册: - -```bash -docker exec -it forgejo-runner forgejo-runner register -``` - -你需要提供: - -- **Forgejo 实例 URL**(例如 `https://git.example.com`) -- **Runner Token**(从仓库或组织设置中获取) -- **运行模式**(Docker / shell 等) -- **标签**(可选,便于任务调度) - -## 🔄 自动启动示例(Docker Compose) - -```yaml -version: '3' -services: - forgejo-runner: - image: codeberg.org/forgejo/runner:latest - container_name: forgejo-runner - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - ./runner-data:/data - restart: unless-stopped -``` - -## 📘 文档与资源 - -- 项目主页:https://forgejo.org/docs/latest/admin/actions/ -- 源码仓库:https://code.forgejo.org/forgejo/runner - -## 🧑‍🤝‍🧑 关于 Forgejo Runner - -Forgejo Runner 是社区主导的 CI 执行器,致力于提供安全、可控、可扩展的构建环境。它是 Forgejo 构建完整 DevOps 生态的重要组成部分。 diff --git a/apps/forgejo-runner-dind/data.yml b/apps/forgejo-runner-dind/data.yml deleted file mode 100644 index dc193293a..000000000 --- a/apps/forgejo-runner-dind/data.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Forgejo Runner Docker in Docker -tags: - - DevOps -title: Forgejo Actions 的 Runner 基于 Dind -description: Forgejo Actions 的 Runner -additionalProperties: - key: forgejo-runner-dind - name: Forgejo Runner Docker in Docker - tags: - - DevOps - shortDescZh: Forgejo Actions 的 Runner - shortDescEn: A runner for Forgejo based on Forgejo fork of act - description: - en: A runner for Forgejo based on Forgejo fork of act - ja: act の Forgejo フォークに基づいた Forgejo 用ランナー - ms: Penjalank untuk Forgejo berdasarkan fork Forgejo dari act - pt-br: Um runner para Forgejo baseado no fork do Forgejo do act - ru: Раннер для Forgejo на основе форка Forgejo от act - ko: act의 Forgejo 포크를 기반으로 한 Forgejo용 러너 - zh-Hant: 基於 Forgejo fork 的 act 的 Forgejo 執行器 - zh: 基于 Forgejo fork 的 act 的 Forgejo 运行器 - type: tool - crossVersionUpdate: true - limit: 0 - recommend: 0 - website: https://forgejo.org/docs/latest/admin/actions/ - github: https://code.forgejo.org/forgejo/runner - document: https://forgejo.org/docs/latest/admin/actions/ - architectures: - - amd64 - - arm64 diff --git a/apps/forgejo-runner-dind/logo.png b/apps/forgejo-runner-dind/logo.png deleted file mode 100644 index 4e5f54948..000000000 Binary files a/apps/forgejo-runner-dind/logo.png and /dev/null differ diff --git a/apps/forgejo-runner-dind/12.6.2/data.yml b/apps/forgejo-runner/12.6.2-dind/data.yml similarity index 72% rename from apps/forgejo-runner-dind/12.6.2/data.yml rename to apps/forgejo-runner/12.6.2-dind/data.yml index 690e9483f..00d127927 100644 --- a/apps/forgejo-runner-dind/12.6.2/data.yml +++ b/apps/forgejo-runner/12.6.2-dind/data.yml @@ -1,5 +1,23 @@ additionalProperties: formFields: + - default: "false" + edit: true + envKey: PRIVILEGED + labelEn: "Privilege Mode: Manually enabled for permission issues" + labelZh: "特权模式: 遇到权限问题时手动启用" + label: + en: Privilege Mode + zh: 特权模式 + description: + en: Manually enabled for permission issues + zh: 遇到权限问题时手动启用 + required: false + type: select + values: + - label: "启用 Enabled" + value: "true" + - label: "禁用 Disabled" + value: "false" - default: http://1.2.3.4:3000 edit: true envKey: FORGEJO_INSTANCE_URL @@ -21,7 +39,7 @@ additionalProperties: edit: true envKey: RUNNER_REGISTRATION_TOKEN labelEn: Registration Token - labelZh: Registration Token + labelZh: 注册令牌 required: true type: text label: @@ -37,7 +55,7 @@ additionalProperties: edit: true envKey: RUNNER_NAME labelEn: Runner Name - labelZh: Runner Name + labelZh: 运行器名称 required: true type: text label: @@ -53,7 +71,7 @@ additionalProperties: edit: true envKey: RUNNER_LABELS labelEn: Runner Labels - labelZh: Runner Labels + labelZh: 运行器标签 required: true type: text label: diff --git a/apps/forgejo-runner-dind/12.6.2/docker-compose.yml b/apps/forgejo-runner/12.6.2-dind/docker-compose.yml similarity index 71% rename from apps/forgejo-runner-dind/12.6.2/docker-compose.yml rename to apps/forgejo-runner/12.6.2-dind/docker-compose.yml index 6e10a4750..f82c438de 100644 --- a/apps/forgejo-runner-dind/12.6.2/docker-compose.yml +++ b/apps/forgejo-runner/12.6.2-dind/docker-compose.yml @@ -1,15 +1,15 @@ services: - forgejo_runner: + forgejo-runner: image: code.forgejo.org/forgejo/runner:12.6.2 - container_name: ${CONTAINER_NAME:-forgejo-runner} + container_name: ${CONTAINER_NAME} depends_on: dind: condition: service_started links: - dind restart: always - user: "1000:1000" # 非 root 用户运行容器 - command: "/data/scripts/register.sh" + user: 1000:1000 + command: /data/scripts/register.sh volumes: - ./data/runner-data:/data - ./scripts/register.sh:/data/scripts/register.sh:ro @@ -22,12 +22,12 @@ services: networks: - 1panel-network labels: - createdBy: "Apps" + createdBy: Apps dind: - image: docker:dind # [ignore] - container_name: forgejo-dind - privileged: true - restart: 'unless-stopped' + image: docker:29.1.5-dind + container_name: ${CONTAINER_NAME}-dind + privileged: ${PRIVILEGED} + restart: unless-stopped command: ['dockerd', '-H', 'tcp://0.0.0.0:2375', '--tls=false'] environment: DOCKER_TLS_CERTDIR: "" @@ -37,8 +37,7 @@ services: networks: - 1panel-network labels: - createdBy: "Apps" - + createdBy: Apps networks: 1panel-network: - external: true \ No newline at end of file + external: true diff --git a/apps/forgejo-runner-dind/12.6.2/scripts/init.sh b/apps/forgejo-runner/12.6.2-dind/scripts/init.sh similarity index 59% rename from apps/forgejo-runner-dind/12.6.2/scripts/init.sh rename to apps/forgejo-runner/12.6.2-dind/scripts/init.sh index 4135dc574..f91a28906 100644 --- a/apps/forgejo-runner-dind/12.6.2/scripts/init.sh +++ b/apps/forgejo-runner/12.6.2-dind/scripts/init.sh @@ -1,9 +1,6 @@ #!/bin/bash set -e -echo "🚀 正在初始化 Forgejo Runner 所需目录..." - -# 进入项目目录 mkdir -p data cd data @@ -28,17 +25,14 @@ chmod g+s runner-data/.cache ## ---------------------------- mkdir -p dind-data -echo "📦 已创建 ./data/dind-data 目录(用于持久化 dind 镜像和元数据)" ## ---------------------------- ## daemon.json 镜像加速配置 ## ---------------------------- if [ -f /etc/docker/daemon.json ]; then - echo "📥 检测到宿主机的 /etc/docker/daemon.json,正在复制..." cp /etc/docker/daemon.json ./daemon.json else - echo "📄 未检测到宿主机 daemon.json,正在生成默认镜像加速配置..." cat > ./daemon.json <