- 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
71 lines
2.0 KiB
Markdown
71 lines
2.0 KiB
Markdown
# Gitea Act Runner
|
|
|
|
Automated installation script for a Gitea Actions runner in an Alpine LXC on Proxmox.
|
|
|
|
### Features
|
|
|
|
Single script, three automatic modes:
|
|
|
|
| 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 |
|
|
|
|
### Usage
|
|
|
|
#### Full install (from Proxmox shell)
|
|
|
|
```bash
|
|
bash -c "$(curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/gitea-runner/install.sh)"
|
|
```
|
|
|
|
The script automatically creates an Alpine 3.23 LXC with Docker and act_runner.
|
|
|
|
#### Customization
|
|
|
|
Environment variables to override defaults:
|
|
|
|
```bash
|
|
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 | Default | Description |
|
|
|----------|---------|-------------|
|
|
| `CTID` | auto | Container ID |
|
|
| `RUNNER_HOSTNAME` | `gitea-runner` | LXC Hostname |
|
|
| `CORES` | `2` | CPU cores |
|
|
| `RAM` | `2048` | RAM in MiB |
|
|
| `DISK` | `8` | Disk in GB |
|
|
| `STORAGE` | `local-lvm` | Proxmox storage for the LXC |
|
|
| `BRIDGE` | `vmbr0` | Network bridge |
|
|
|
|
#### Runner registration
|
|
|
|
After installation, enter the LXC and register the runner:
|
|
|
|
```bash
|
|
pct enter <CTID>
|
|
cd /var/lib/gitea-runner
|
|
su -s /bin/bash gitea-runner -c "act_runner register"
|
|
rc-service gitea-runner start
|
|
```
|
|
|
|
#### Update
|
|
|
|
From inside the LXC:
|
|
|
|
```bash
|
|
curl -fsSL https://gitea.arnodo.fr/Damien/infra-scripts/raw/branch/main/gitea-runner/install.sh | bash
|
|
```
|
|
|
|
The script detects that act_runner is already installed and switches to update mode automatically.
|
|
|
|
### Architecture
|
|
|
|
- **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`)
|