Skip to content

Commit 14d48f2

Browse files
committed
chore: use stable version
1 parent 4a935c6 commit 14d48f2

File tree

14 files changed

+141
-50
lines changed

14 files changed

+141
-50
lines changed

.env.example

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,12 @@
44
# docker-compose 会读取 .env,以下变量可选:
55
#
66
# Manager 镜像(与 docker-compose 中 runner-manager.image 对应)
7-
# MANAGER_IMAGE=ghcr.io/soulteary/runner-fleet:main
8-
# 使用本仓库 CI 推送的镜像时改为:ghcr.io/<owner>/<repo>:main 或 :<tag>
7+
# 生产建议使用具体版本号,例如:
8+
# MANAGER_IMAGE=ghcr.io/soulteary/runner-fleet:v1.0.0
9+
# 开发/尝鲜可使用 main:MANAGER_IMAGE=ghcr.io/soulteary/runner-fleet:main
10+
#
11+
# config.yaml 中未设置 container_image 时,Manager 内默认 Runner 镜像 tag 由 FLEET_IMAGE_TAG 决定(未设则为 v1.0.0)。
12+
# 例如使用 main 版 Runner 镜像:FLEET_IMAGE_TAG=main
913
#
1014
# 宿主机映射端口,默认 8080
1115
# MANAGER_PORT=8080

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
BINARY := runner-manager
33
VERSION ?= dev
44

5-
# 本地构建 Runner 镜像的默认 tag;使用 CI 推送的镜像时为同仓库名、tag 带 -runner,如 ghcr.io/<owner>/<repo>:main-runner
6-
RUNNER_IMAGE ?= ghcr.io/soulteary/runner-fleet:main-runner
5+
# 本地构建 Runner 镜像的默认 tag;使用 CI 推送的镜像时为同仓库名、tag 带 -runner,如 ghcr.io/<owner>/<repo>:v1.0.0-runner
6+
RUNNER_IMAGE ?= ghcr.io/soulteary/runner-fleet:v1.0.0-runner
77

88
.PHONY: build build-agent build-all test run docker-build docker-build-runner docker-run docker-stop clean help
99

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ docker network create runner-net 2>/dev/null || true
3737
docker compose up -d
3838
```
3939

40-
Open http://localhost:8080. For more options (docker run, DinD, container mode) see the [User Guide](docs/guide.md). Health: `GET /health`; version: `GET /version`.
40+
Open http://localhost:8080. The default image tag is the stable release (e.g. v1.0.0). For more options (docker run, DinD, container mode, using `main` or other tags) see the [User Guide](docs/guide.md). Health: `GET /health`; version: `GET /version`.
4141

4242
## Use cases
4343

config.yaml.example

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ runners:
1515
# 容器模式:每个 Runner 运行在独立容器中,Manager 通过宿主机 Docker(socket)启停,并与 Runner 容器同网络
1616
# 启用后 Manager 必须使用宿主机 docker(勿设 DOCKER_HOST=tcp://runner-dind:2375)
1717
# container_mode: true
18-
# container_image: ghcr.io/soulteary/runner-fleet:main-runner
18+
# container_image 不填则按 FLEET_IMAGE_TAG 或默认 v1.0.0 生成;示例:ghcr.io/soulteary/runner-fleet:v1.0.0-runner
19+
# container_image: ghcr.io/soulteary/runner-fleet:v1.0.0-runner
1920
# container_network: runner-net
2021
# agent_port: 8081
2122
# Job 内 Docker 后端:dind(DinD 服务)、host-socket(挂载宿主机 socket)、none(不提供)

docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
# 5. 若启用容器模式(runners.container_mode: true):
1212
# - 取消 config.yaml 中 container_mode 等注释
1313
# - 设置 volume_host_path 为宿主机 runners 绝对路径(例如:realpath runners 或 $(cd . && pwd)/runners)
14-
# - 设置 container_image 为 CI 推送的 ghcr.io/<owner>/<repo>:main-runner(与 Manager 同镜像名,tag 带 -runner),或本地构建的镜像 tag
14+
# - 不填 container_image 时由 FLEET_IMAGE_TAG 或默认 v1.0.0 生成;或显式设 container_image 为 ghcr.io/<owner>/<repo>:v1.0.0-runner
1515
# - Manager 需能访问宿主机 Docker(创建/启停 Runner 容器):下方已配置 group_add,请将 999 改为宿主机 docker 组 GID(getent group docker | cut -d: -f3);或改用 user: "0:0" 以 root 运行
1616
#
1717
# === 两种运行模式 ===
@@ -38,8 +38,8 @@ services:
3838
restart: unless-stopped
3939

4040
runner-manager:
41-
# 使用本仓库 CI 镜像时可设 .env:MANAGER_IMAGE=ghcr.io/<owner>/<repo>:main
42-
image: ${MANAGER_IMAGE:-ghcr.io/soulteary/runner-fleet:main}
41+
# 默认使用稳定版 v1.0.0;开发/尝鲜可设 .env:MANAGER_IMAGE=ghcr.io/soulteary/runner-fleet:main
42+
image: ${MANAGER_IMAGE:-ghcr.io/soulteary/runner-fleet:v1.0.0}
4343
container_name: runner-manager
4444
# 使用 job_docker_backend: dind 时请先启动 DinD:docker compose --profile dind up -d
4545
# 容器模式下必须用宿主机 socket,否则 Manager 无法创建 Runner 容器;默认 unix,勿改为 tcp://runner-dind:2375

docs/de/guide.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ Bereitstellung, Konfiguration, Hinzufügen von Runnern und Sicherheit werden hie
1515

1616
### Veröffentlichtes Image verwenden (empfohlen)
1717

18+
Produktion: konkrete Version verwenden (z. B. v1.0.0). Für Entwicklung kann der Tag `main` genutzt werden.
19+
1820
```bash
19-
docker pull ghcr.io/soulteary/runner-fleet:main
21+
docker pull ghcr.io/soulteary/runner-fleet:v1.0.0
2022
```
2123

2224
### docker-compose Schnellstart
@@ -46,7 +48,7 @@ docker run -d --name runner-manager \
4648
-p 8080:8080 \
4749
-v $(pwd)/config.yaml:/app/config.yaml \
4850
-v $(pwd)/runners:/app/runners \
49-
ghcr.io/soulteary/runner-fleet:main
51+
ghcr.io/soulteary/runner-fleet:v1.0.0
5052
```
5153

5254
Host-Verzeichnisse müssen für UID 1001 schreibbar sein. Basic Auth: `-e BASIC_AUTH_PASSWORD=password`, `-e BASIC_AUTH_USER=admin`. Für Docker in Jobs `-v /var/run/docker.sock:/var/run/docker.sock` hinzufügen oder DinD nutzen (siehe Repo `docker-compose.yml`, `--profile dind`). Das Image enthält die Docker-CLI; gängige Actions funktionieren mit DinD.
@@ -71,15 +73,15 @@ In **config.yaml** aktivieren (siehe `config.yaml.example`):
7173
runners:
7274
base_path: /app/runners
7375
container_mode: true
74-
container_image: ghcr.io/soulteary/runner-fleet:main-runner
76+
container_image: ghcr.io/soulteary/runner-fleet:v1.0.0-runner
7577
container_network: runner-net
7678
agent_port: 8081
7779
job_docker_backend: dind # dind | host-socket | none
7880
dind_host: runner-dind
7981
volume_host_path: /abs/path/on/host/to/runners
8082
```
8183
82-
Runner-Image: gleicher Name wie Manager mit Tag `-runner`, oder lokal bauen: `docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:main-runner .`. Der Manager muss Host-Docker verwenden (Mount von `docker.sock`), nicht DinD über `DOCKER_HOST`; in Compose `group_add` für Host-Docker-GID oder `user: "0:0"` verwenden. Runner-Namen werden zu Containernamen normalisiert; Duplikate nach dem Mapping kollidieren.
84+
Runner-Image: gleicher Name wie Manager mit Tag `-runner` (Produktion: Version z. B. v1.0.0-runner; Entwicklung: main-runner), oder lokal bauen: `docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:v1.0.0-runner .`. Der Manager muss Host-Docker verwenden (Mount von `docker.sock`), nicht DinD über `DOCKER_HOST`; in Compose `group_add` für Host-Docker-GID oder `user: "0:0"` verwenden. Runner-Namen werden zu Containernamen normalisiert; Duplikate nach dem Mapping kollidieren.
8385

8486
### Fehlerbehebung
8587

@@ -92,7 +94,7 @@ Runner-Image: gleicher Name wie Manager mit Tag `-runner`, oder lokal bauen: `do
9294

9395
```bash
9496
docker build -t runner-manager .
95-
docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:main-runner .
97+
docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:v1.0.0-runner .
9698
```
9799

98100
Make: `make docker-build`, `make docker-run`, `make docker-stop`.
@@ -112,7 +114,7 @@ cp config.yaml.example config.yaml
112114
| `runners.base_path` | Wurzelpfad der Runner-Installationsverzeichnisse; **in Container auf `/app/runners` setzen** | `./runners` |
113115
| `runners.items` | Vordefinierte Runner-Liste | Kann auch über die Web-UI hinzugefügt werden |
114116
| `runners.container_mode` | Containermodus aktivieren | `false` |
115-
| `runners.container_image` | Runner-Image im Containermodus (Tag -runner) | `ghcr.io/soulteary/runner-fleet:main-runner` |
117+
| `runners.container_image` | Runner-Image im Containermodus (Tag -runner) | `ghcr.io/soulteary/runner-fleet:v1.0.0-runner` |
116118
| `runners.container_network` | Netzwerk für Runner im Containermodus | `runner-net` |
117119
| `runners.agent_port` | Agent-Port im Container | `8081` |
118120
| `runners.job_docker_backend` | Docker in Jobs: `dind` / `host-socket` / `none` | `dind` |

docs/fr/guide.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ Déploiement, configuration, ajout de runners et sécurité sont traités ici. P
1515

1616
### Utiliser l'image publiée (recommandé)
1717

18+
En production, utilisez une version précise (ex. v1.0.0). En développement, vous pouvez utiliser le tag `main`.
19+
1820
```bash
19-
docker pull ghcr.io/soulteary/runner-fleet:main
21+
docker pull ghcr.io/soulteary/runner-fleet:v1.0.0
2022
```
2123

2224
### Démarrage rapide docker-compose
@@ -46,7 +48,7 @@ docker run -d --name runner-manager \
4648
-p 8080:8080 \
4749
-v $(pwd)/config.yaml:/app/config.yaml \
4850
-v $(pwd)/runners:/app/runners \
49-
ghcr.io/soulteary/runner-fleet:main
51+
ghcr.io/soulteary/runner-fleet:v1.0.0
5052
```
5153

5254
Les répertoires hôte doivent être accessibles en écriture par UID 1001. Basic Auth : `-e BASIC_AUTH_PASSWORD=password`, `-e BASIC_AUTH_USER=admin`. Pour Docker dans les jobs, ajoutez `-v /var/run/docker.sock:/var/run/docker.sock`, ou utilisez DinD (voir `docker-compose.yml` du dépôt, `--profile dind`). L'image inclut le CLI Docker ; les Actions courantes fonctionnent avec DinD.
@@ -71,15 +73,15 @@ Activer dans **config.yaml** (voir `config.yaml.example`) :
7173
runners:
7274
base_path: /app/runners
7375
container_mode: true
74-
container_image: ghcr.io/soulteary/runner-fleet:main-runner
76+
container_image: ghcr.io/soulteary/runner-fleet:v1.0.0-runner
7577
container_network: runner-net
7678
agent_port: 8081
7779
job_docker_backend: dind # dind | host-socket | none
7880
dind_host: runner-dind
7981
volume_host_path: /abs/path/on/host/to/runners
8082
```
8183
82-
Image runner : même nom que le Manager avec le tag `-runner`, ou build local : `docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:main-runner .`. Le Manager doit utiliser le Docker hôte (montage de `docker.sock`), pas DinD via `DOCKER_HOST` ; dans Compose, utilisez `group_add` pour le GID docker hôte ou `user: "0:0"`. Les noms de runner sont normalisés en noms de conteneurs ; les doublons après mapping entreront en conflit.
84+
Image runner : même nom que le Manager avec le tag `-runner` (production : version ex. v1.0.0-runner ; dev : main-runner), ou build local : `docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:v1.0.0-runner .`. Le Manager doit utiliser le Docker hôte (montage de `docker.sock`), pas DinD via `DOCKER_HOST` ; dans Compose, utilisez `group_add` pour le GID docker hôte ou `user: "0:0"`. Les noms de runner sont normalisés en noms de conteneurs ; les doublons après mapping entreront en conflit.
8385

8486
### Dépannage
8587

@@ -92,7 +94,7 @@ Image runner : même nom que le Manager avec le tag `-runner`, ou build local :
9294

9395
```bash
9496
docker build -t runner-manager .
95-
docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:main-runner .
97+
docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:v1.0.0-runner .
9698
```
9799

98100
Make : `make docker-build`, `make docker-run`, `make docker-stop`.
@@ -112,7 +114,7 @@ cp config.yaml.example config.yaml
112114
| `runners.base_path` | Chemin racine des répertoires d'installation ; **définir `/app/runners` en conteneur** | `./runners` |
113115
| `runners.items` | Liste prédéfinie de runners | Peut aussi être ajoutée via l'interface |
114116
| `runners.container_mode` | Activer le mode conteneur | `false` |
115-
| `runners.container_image` | Image runner en mode conteneur (tag -runner) | `ghcr.io/soulteary/runner-fleet:main-runner` |
117+
| `runners.container_image` | Image runner en mode conteneur (tag -runner) | `ghcr.io/soulteary/runner-fleet:v1.0.0-runner` |
116118
| `runners.container_network` | Réseau des runners en mode conteneur | `runner-net` |
117119
| `runners.agent_port` | Port de l'Agent dans le conteneur | `8081` |
118120
| `runners.job_docker_backend` | Docker dans les jobs : `dind` / `host-socket` / `none` | `dind` |

docs/guide.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ Deployment, configuration, adding runners, and security are covered here. For co
1515

1616
### Use published image (recommended)
1717

18+
Production: use a specific version (e.g. v1.0.0). For development you can use the `main` tag.
19+
1820
```bash
19-
docker pull ghcr.io/soulteary/runner-fleet:main
21+
docker pull ghcr.io/soulteary/runner-fleet:v1.0.0
2022
```
2123

2224
### docker-compose quick start
@@ -46,7 +48,7 @@ docker run -d --name runner-manager \
4648
-p 8080:8080 \
4749
-v $(pwd)/config.yaml:/app/config.yaml \
4850
-v $(pwd)/runners:/app/runners \
49-
ghcr.io/soulteary/runner-fleet:main
51+
ghcr.io/soulteary/runner-fleet:v1.0.0
5052
```
5153

5254
Host dirs must be writable by UID 1001. Basic Auth: `-e BASIC_AUTH_PASSWORD=password`, `-e BASIC_AUTH_USER=admin`. For Docker in jobs add `-v /var/run/docker.sock:/var/run/docker.sock`, or use DinD (see repo `docker-compose.yml` `--profile dind`). Image includes Docker CLI; common Actions work with DinD.
@@ -71,15 +73,15 @@ Enable in **config.yaml** (see `config.yaml.example`):
7173
runners:
7274
base_path: /app/runners
7375
container_mode: true
74-
container_image: ghcr.io/soulteary/runner-fleet:main-runner
76+
container_image: ghcr.io/soulteary/runner-fleet:v1.0.0-runner
7577
container_network: runner-net
7678
agent_port: 8081
7779
job_docker_backend: dind # dind | host-socket | none
7880
dind_host: runner-dind
7981
volume_host_path: /abs/path/on/host/to/runners
8082
```
8183
82-
Runner image: same name as Manager with `-runner` tag, or build locally: `docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:main-runner .`. Manager must use host Docker (mount `docker.sock`), not DinD via `DOCKER_HOST`; in Compose use `group_add` for host docker GID or `user: "0:0"`. Runner names are normalized to container names; duplicates after mapping will conflict.
84+
Runner image: same name as Manager with `-runner` tag (production: use a version tag e.g. v1.0.0-runner; dev: main-runner), or build locally: `docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:v1.0.0-runner .`. Manager must use host Docker (mount `docker.sock`), not DinD via `DOCKER_HOST`; in Compose use `group_add` for host docker GID or `user: "0:0"`. Runner names are normalized to container names; duplicates after mapping will conflict.
8385

8486
### Troubleshooting
8587

@@ -92,7 +94,7 @@ Runner image: same name as Manager with `-runner` tag, or build locally: `docker
9294

9395
```bash
9496
docker build -t runner-manager .
95-
docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:main-runner .
97+
docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:v1.0.0-runner .
9698
```
9799

98100
Make: `make docker-build`, `make docker-run`, `make docker-stop`.
@@ -112,7 +114,7 @@ cp config.yaml.example config.yaml
112114
| `runners.base_path` | Root path for runner install dirs; **set to `/app/runners` in container** | `./runners` |
113115
| `runners.items` | Predefined runner list | Can also add via Web UI |
114116
| `runners.container_mode` | Enable container mode | `false` |
115-
| `runners.container_image` | Runner image in container mode (tag with -runner) | `ghcr.io/soulteary/runner-fleet:main-runner` |
117+
| `runners.container_image` | Runner image in container mode (tag with -runner) | `ghcr.io/soulteary/runner-fleet:v1.0.0-runner` |
116118
| `runners.container_network` | Network for runners in container mode | `runner-net` |
117119
| `runners.agent_port` | In-container Agent port | `8081` |
118120
| `runners.job_docker_backend` | Docker in jobs: `dind` / `host-socket` / `none` | `dind` |

docs/ja/guide.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515

1616
### 公開イメージを使う(推奨)
1717

18+
本番では特定バージョン(例: v1.0.0)を使用してください。開発時は `main` タグが使えます。
19+
1820
```bash
19-
docker pull ghcr.io/soulteary/runner-fleet:main
21+
docker pull ghcr.io/soulteary/runner-fleet:v1.0.0
2022
```
2123

2224
### docker-compose クイックスタート
@@ -46,7 +48,7 @@ docker run -d --name runner-manager \
4648
-p 8080:8080 \
4749
-v $(pwd)/config.yaml:/app/config.yaml \
4850
-v $(pwd)/runners:/app/runners \
49-
ghcr.io/soulteary/runner-fleet:main
51+
ghcr.io/soulteary/runner-fleet:v1.0.0
5052
```
5153

5254
ホストのディレクトリは UID 1001 が書き込み可能である必要があります。Basic Auth: `-e BASIC_AUTH_PASSWORD=password``-e BASIC_AUTH_USER=admin`。Job で Docker を使う場合は `-v /var/run/docker.sock:/var/run/docker.sock` を追加するか、DinD を使用(リポジトリの `docker-compose.yml``--profile dind` 参照)。イメージには Docker CLI が含まれており、DinD で一般的な Action が動作します。
@@ -71,15 +73,15 @@ docker exec runner-manager /app/scripts/install-runner.sh <name> [version]
7173
runners:
7274
base_path: /app/runners
7375
container_mode: true
74-
container_image: ghcr.io/soulteary/runner-fleet:main-runner
76+
container_image: ghcr.io/soulteary/runner-fleet:v1.0.0-runner
7577
container_network: runner-net
7678
agent_port: 8081
7779
job_docker_backend: dind # dind | host-socket | none
7880
dind_host: runner-dind
7981
volume_host_path: /abs/path/on/host/to/runners
8082
```
8183
82-
Runner イメージ: Manager と同じ名前で `-runner` タグまたはローカルビルド: `docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:main-runner .`。Manager はホストの Docker(`docker.sock` のマウント)を使う必要があり、`DOCKER_HOST` で DinD にはしないでください。Compose ではホストの docker GID 用に `group_add` または `user: "0:0"` を使用。Runner 名はコンテナ名に正規化され、マッピング後の重複は衝突します。
84+
Runner イメージ: Manager と同じ名前で `-runner` タグ(本番はバージョン例 v1.0.0-runner、開発は main-runner)、またはローカルビルド: `docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:v1.0.0-runner .`。Manager はホストの Docker(`docker.sock` のマウント)を使う必要があり、`DOCKER_HOST` で DinD にはしないでください。Compose ではホストの docker GID 用に `group_add` または `user: "0:0"` を使用。Runner 名はコンテナ名に正規化され、マッピング後の重複は衝突します。
8385

8486
### トラブルシューティング
8587

@@ -92,7 +94,7 @@ Runner イメージ: Manager と同じ名前で `-runner` タグ、またはロ
9294

9395
```bash
9496
docker build -t runner-manager .
95-
docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:main-runner .
97+
docker build -f Dockerfile.runner -t ghcr.io/soulteary/runner-fleet:v1.0.0-runner .
9698
```
9799

98100
Make: `make docker-build`、`make docker-run`、`make docker-stop`。
@@ -112,7 +114,7 @@ cp config.yaml.example config.yaml
112114
| `runners.base_path` | Runner インストールディレクトリのルートパス。**コンテナでは `/app/runners` に設定** | `./runners` |
113115
| `runners.items` | 事前定義 Runner 一覧 | Web UI からも追加可能 |
114116
| `runners.container_mode` | コンテナモードを有効化 | `false` |
115-
| `runners.container_image` | コンテナモード時の Runner イメージ(-runner タグ) | `ghcr.io/soulteary/runner-fleet:main-runner` |
117+
| `runners.container_image` | コンテナモード時の Runner イメージ(-runner タグ) | `ghcr.io/soulteary/runner-fleet:v1.0.0-runner` |
116118
| `runners.container_network` | コンテナモード時の Runner ネットワーク | `runner-net` |
117119
| `runners.agent_port` | コンテナ内 Agent ポート | `8081` |
118120
| `runners.job_docker_backend` | Job 内 Docker: `dind` / `host-socket` / `none` | `dind` |

0 commit comments

Comments
 (0)