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:
Damien
2026-05-04 14:14:57 +02:00
parent b6b9278c50
commit ebc5547838
2 changed files with 43 additions and 41 deletions

View File

@@ -2,24 +2,26 @@
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:
- **Self-contained**: No external dependencies beyond standard Debian packages
- **Idempotent-ish**: Safe to re-run (where possible)
- **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 |
|--------|-------------|-------|
| [`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` |
| [`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` |
| [`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` |
| [`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
- User with sudo privileges (do not run as root)
- Fresh Debian 12/13 installation (proxy, netlab, seedbox) or Proxmox VE host (gitea-runner)
- User with sudo privileges (do not run as root) — except gitea-runner which runs as root on Proxmox
- Internet access

View File

@@ -1,48 +1,48 @@
# 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 |
|---|---|
| Depuis l'hôte Proxmox | Crée le LXC Alpine + installe tout |
| Depuis un LXC vide | Installe Docker + act_runner + service OpenRC |
| Depuis un LXC avec act_runner | Met à jour le binaire vers la dernière version |
| Context | Action |
|---------|--------|
| From Proxmox host | Creates Alpine LXC + installs everything |
| From empty LXC | Installs Docker + act_runner + OpenRC service |
| 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 -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
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 |
|---|---|---|
| `CTID` | auto | ID du conteneur |
| `RUNNER_HOSTNAME` | `gitea-runner` | Hostname du LXC |
| Variable | Default | Description |
|----------|---------|-------------|
| `CTID` | auto | Container ID |
| `RUNNER_HOSTNAME` | `gitea-runner` | LXC Hostname |
| `CORES` | `2` | CPU cores |
| `RAM` | `2048` | RAM en MiB |
| `DISK` | `8` | Disque en GB |
| `STORAGE` | `local-lvm` | Storage Proxmox pour le LXC |
| `BRIDGE` | `vmbr0` | Bridge réseau |
| `RAM` | `2048` | RAM in MiB |
| `DISK` | `8` | Disk in GB |
| `STORAGE` | `local-lvm` | Proxmox storage for the LXC |
| `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
pct enter <CTID>
@@ -51,20 +51,20 @@ su -s /bin/bash gitea-runner -c "act_runner register"
rc-service gitea-runner start
```
### Mise à jour
#### Update
Depuis l'intérieur du LXC :
From inside the LXC:
```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-privileg, nesting activé)
- **Docker** : installé via apk, service OpenRC
- **act_runner** : binaire officiel depuis gitea.com/gitea/act_runner
- **Service** : OpenRC avec logs dans `/var/log/gitea-runner.log`
- **Utilisateur** : `gitea-runner` (groupe `docker`)
- **OS**: Alpine 3.23 (LXC non-privileged, nesting active)
- **Docker**: installed via apk, OpenRC service
- **act_runner**: official binary from gitea.com/gitea/act_runner
- **Service**: OpenRC with logs in `/var/log/gitea-runner.log`
- **User**: `gitea-runner` (group `docker`)