Add gitea-runner installation script and update READMEs
- Added new gitea-runner/install.sh script for deploying a Gitea Act Runner on Alpine LXC in Proxmox - Updated main README with new script entry and adjusted formatting - Added multi-OS support note to requirements - Improved formatting in code examples with proper command separation - Translated and enhanced gitea-runner/README.md with consistent terminology
This commit is contained in:
18
README.md
18
README.md
@@ -2,24 +2,26 @@
|
|||||||
|
|
||||||
Public infrastructure deployment scripts designed to be executed directly via `curl | bash`.
|
Public infrastructure deployment scripts designed to be executed directly via `curl | bash`.
|
||||||
|
|
||||||
## Philosophy
|
### Philosophy
|
||||||
|
|
||||||
These scripts automate the deployment of personal infrastructure components. They are:
|
These scripts automate the deployment of personal infrastructure components. They are:
|
||||||
|
|
||||||
- **Self-contained**: No external dependencies beyond standard Debian packages
|
- **Self-contained**: No external dependencies beyond standard Debian packages
|
||||||
- **Idempotent-ish**: Safe to re-run (where possible)
|
- **Idempotent-ish**: Safe to re-run (where possible)
|
||||||
- **Curl-friendly**: Designed for one-liner deployment from a fresh server
|
- **Curl-friendly**: Designed for one-liner deployment from a fresh server
|
||||||
|
- **Multi-OS**: Supports Debian and Alpine-based deployments
|
||||||
|
|
||||||
## Available Scripts
|
### Available Scripts
|
||||||
|
|
||||||
| Script | Description | Usage |
|
| Script | Description | Usage |
|
||||||
|--------|-------------|-------|
|
|--------|-------------|-------|
|
||||||
| [`proxy/install.sh`](proxy/) | Reverse proxy with Tailscale + Nginx Proxy Manager | `curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/proxy/install.sh \| bash` |
|
| [`proxy/install.sh`](proxy/) | Reverse proxy with Tailscale + Nginx Proxy Manager | `curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/proxy/install.sh` \| `bash` |
|
||||||
| [`netlab/install.sh`](netlab/) | Network lab with ContainerLab | `curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/netlab/install.sh \| bash` |
|
| [`netlab/install.sh`](netlab/) | Network lab with ContainerLab | `curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/netlab/install.sh` \| `bash` |
|
||||||
| [`seedbox/install.sh`](seedbox/) | ISO seedbox with Transmission + NFS | `NFS_SERVER=<nas> curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/seedbox/install.sh \| bash` |
|
| [`seedbox/install.sh`](seedbox/) | ISO seedbox with Transmission + NFS | `NFS_SERVER=<nas> curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/seedbox/install.sh` \| `bash` |
|
||||||
|
| [`gitea-runner/install.sh`](gitea-runner/) | Gitea Act Runner on Alpine LXC (Proxmox) | `bash -c "$(curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/gitea-runner/install.sh)"` |
|
||||||
|
|
||||||
## Requirements
|
### Requirements
|
||||||
|
|
||||||
- Fresh Debian 12/13 installation
|
- Fresh Debian 12/13 installation (proxy, netlab, seedbox) or Proxmox VE host (gitea-runner)
|
||||||
- User with sudo privileges (do not run as root)
|
- User with sudo privileges (do not run as root) — except gitea-runner which runs as root on Proxmox
|
||||||
- Internet access
|
- Internet access
|
||||||
@@ -1,48 +1,48 @@
|
|||||||
# Gitea Act Runner
|
# Gitea Act Runner
|
||||||
|
|
||||||
Script d'installation automatisée d'un runner Gitea Actions dans un LXC Alpine sur Proxmox.
|
Automated installation script for a Gitea Actions runner in an Alpine LXC on Proxmox.
|
||||||
|
|
||||||
## Fonctionnalités
|
### Features
|
||||||
|
|
||||||
Un seul script, trois modes automatiques :
|
Single script, three automatic modes:
|
||||||
|
|
||||||
| Contexte | Action |
|
| Context | Action |
|
||||||
|---|---|
|
|---------|--------|
|
||||||
| Depuis l'hôte Proxmox | Crée le LXC Alpine + installe tout |
|
| From Proxmox host | Creates Alpine LXC + installs everything |
|
||||||
| Depuis un LXC vide | Installe Docker + act_runner + service OpenRC |
|
| From empty LXC | Installs Docker + act_runner + OpenRC service |
|
||||||
| Depuis un LXC avec act_runner | Met à jour le binaire vers la dernière version |
|
| From LXC with act_runner installed | Updates binary to latest version |
|
||||||
|
|
||||||
## Utilisation
|
### Usage
|
||||||
|
|
||||||
### Installation complète (depuis le shell Proxmox)
|
#### Full install (from Proxmox shell)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
bash -c "$(curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/gitea-runner/install.sh)"
|
bash -c "$(curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/gitea-runner/install.sh)"
|
||||||
```
|
```
|
||||||
|
|
||||||
Le script crée automatiquement un LXC Alpine 3.23 avec Docker et act_runner.
|
The script automatically creates an Alpine 3.23 LXC with Docker and act_runner.
|
||||||
|
|
||||||
### Personnalisation
|
#### Customization
|
||||||
|
|
||||||
Variables d'environnement pour surcharger les valeurs par défaut :
|
Environment variables to override defaults:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
CTID=120 HOSTNAME=runner-02 CORES=4 RAM=4096 bash -c "$(curl -fsSL ...)"
|
CTID=120 HOSTNAME=runner-02 CORES=4 RAM=4096 bash -c "$(curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/gitea-runner/install.sh)"
|
||||||
```
|
```
|
||||||
|
|
||||||
| Variable | Défaut | Description |
|
| Variable | Default | Description |
|
||||||
|---|---|---|
|
|----------|---------|-------------|
|
||||||
| `CTID` | auto | ID du conteneur |
|
| `CTID` | auto | Container ID |
|
||||||
| `RUNNER_HOSTNAME` | `gitea-runner` | Hostname du LXC |
|
| `RUNNER_HOSTNAME` | `gitea-runner` | LXC Hostname |
|
||||||
| `CORES` | `2` | CPU cores |
|
| `CORES` | `2` | CPU cores |
|
||||||
| `RAM` | `2048` | RAM en MiB |
|
| `RAM` | `2048` | RAM in MiB |
|
||||||
| `DISK` | `8` | Disque en GB |
|
| `DISK` | `8` | Disk in GB |
|
||||||
| `STORAGE` | `local-lvm` | Storage Proxmox pour le LXC |
|
| `STORAGE` | `local-lvm` | Proxmox storage for the LXC |
|
||||||
| `BRIDGE` | `vmbr0` | Bridge réseau |
|
| `BRIDGE` | `vmbr0` | Network bridge |
|
||||||
|
|
||||||
### Enregistrement du runner
|
#### Runner registration
|
||||||
|
|
||||||
Après installation, entrer dans le LXC et enregistrer le runner :
|
After installation, enter the LXC and register the runner:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pct enter <CTID>
|
pct enter <CTID>
|
||||||
@@ -51,20 +51,20 @@ su -s /bin/bash gitea-runner -c "act_runner register"
|
|||||||
rc-service gitea-runner start
|
rc-service gitea-runner start
|
||||||
```
|
```
|
||||||
|
|
||||||
### Mise à jour
|
#### Update
|
||||||
|
|
||||||
Depuis l'intérieur du LXC :
|
From inside the LXC:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/gitea-runner/install.sh | bash
|
curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/gitea-runner/install.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
Le script détecte que act_runner est déjà installé et passe en mode update automatiquement.
|
The script detects that act_runner is already installed and switches to update mode automatically.
|
||||||
|
|
||||||
## Architecture
|
### Architecture
|
||||||
|
|
||||||
- **OS** : Alpine 3.23 (LXC non-privilegié, nesting activé)
|
- **OS**: Alpine 3.23 (LXC non-privileged, nesting active)
|
||||||
- **Docker** : installé via apk, service OpenRC
|
- **Docker**: installed via apk, OpenRC service
|
||||||
- **act_runner** : binaire officiel depuis gitea.com/gitea/act_runner
|
- **act_runner**: official binary from gitea.com/gitea/act_runner
|
||||||
- **Service** : OpenRC avec logs dans `/var/log/gitea-runner.log`
|
- **Service**: OpenRC with logs in `/var/log/gitea-runner.log`
|
||||||
- **Utilisateur** : `gitea-runner` (groupe `docker`)
|
- **User**: `gitea-runner` (group `docker`)
|
||||||
|
|||||||
Reference in New Issue
Block a user