af5596aea3
Go 控制面(SQLite + REST API)嵌入 Mihomo 数据面,Vue 3 多语言 Web 管理台。 含订阅/节点/规则/出站/监控/日志、OpenAPI、API Key、Gitea Actions CI 与开源文档; CI 适配自托管 runner(国内 Go 镜像、act 容器构建、docker.sock 挂载说明)。 Co-authored-by: Cursor <cursoragent@cursor.com>
59 lines
1.8 KiB
Markdown
59 lines
1.8 KiB
Markdown
# act_runner 配置参考
|
||
|
||
工作流 `runs-on: ubuntu-latest`;`docker` job 额外使用 `catthehacker/ubuntu:act-22.04` 容器(含 Docker CLI)。
|
||
|
||
## 构建镜像必须:挂载 Docker Socket
|
||
|
||
`docker` job 需要访问宿主机 Docker 引擎。在 **runner 所在机器** 的 `config.yaml` 中配置:
|
||
|
||
```yaml
|
||
container:
|
||
options: -v /var/run/docker.sock:/var/run/docker.sock
|
||
valid_volumes:
|
||
- /var/run/docker.sock
|
||
```
|
||
|
||
推荐 job 镜像(含 Node + Docker CLI):
|
||
|
||
```yaml
|
||
runner:
|
||
labels:
|
||
- "ubuntu-latest:docker://catthehacker/ubuntu:act-22.04"
|
||
- "ubuntu-22.04:docker://catthehacker/ubuntu:act-22.04"
|
||
```
|
||
|
||
修改后 **重启 runner**(例如 `docker restart <runner容器>` 或重启 Gitea Runner 服务)。
|
||
|
||
## 验证
|
||
|
||
在 runner 宿主机执行:
|
||
|
||
```bash
|
||
docker info
|
||
ls -l /var/run/docker.sock
|
||
```
|
||
|
||
## 从零部署 runner(可选)
|
||
|
||
```bash
|
||
cd .gitea/act-runner
|
||
cp .env.example .env # 填入 Registration Token
|
||
docker compose up -d
|
||
```
|
||
|
||
## 常见错误
|
||
|
||
| 报错 | 原因 | 处理 |
|
||
|------|------|------|
|
||
| `docker: command not found` | job 容器无 Docker CLI | 工作流已指定 act 镜像;或 runner 改用 catthehacker/ubuntu |
|
||
| `Cannot connect to Docker daemon` | 未挂载 docker.sock | 按上文修改 config.yaml 并重启 runner |
|
||
| `node not in PATH` | job 镜像无 Node | 标签映射改用 catthehacker/ubuntu:act-22.04 |
|
||
|
||
## Gitea Runner v0.6.x(个人 runner)
|
||
|
||
1. 找到 runner 的配置文件或环境(安装目录 / docker compose)
|
||
2. 确保 runner 进程能访问宿主机 `/var/run/docker.sock`
|
||
3. Runners 页标签含 `ubuntu-latest` 且状态 **空闲/在线**
|
||
|
||
若使用 Gitea 网页注册的个人 runner(docker 模式),通常需在 runner 启动参数或 `config.yaml` 里加入 socket 挂载,具体路径取决于你的安装方式。
|