From eaa189ba40a227661f5c560413427ed705ee29ff Mon Sep 17 00:00:00 2001 From: Max Kratz Date: Sat, 18 May 2024 11:52:57 +0200 Subject: [PATCH] Adds documentation and a script for the self-hosted runner setup --- README.md | 13 +++++++++++++ runner-setup.sh | 28 ++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 runner-setup.sh diff --git a/README.md b/README.md index cc44e62..933f0d5 100644 --- a/README.md +++ b/README.md @@ -40,3 +40,16 @@ The following packages are installed in this Docker image: ## Issues & Contribution If you find any problems, bugs or missing packages, feel free to open an [issue on Github](https://github.com/maxkratz/docker_pandoc-builder/issues). + + +## Runner requirements +Currently, all actions must be run by a self-hosted GitHub runner, because GitHub-hosted runners do not have enough storage available. + +### Self-hosted Linux-based runners +In order to run the "GitHub Actions" pipeline on a self-hosted runner, you must ensure that you have at least one properly configured Linux-based runner added to this GitHub project. + +Required packages (at least): +- `curl` +- `wget` +- `grep` +- `docker` (including buildx plugin) diff --git a/runner-setup.sh b/runner-setup.sh new file mode 100644 index 0000000..57c7646 --- /dev/null +++ b/runner-setup.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -e + +USERNAME=maxkratz + +# utilities + sudo +apt-get update +apt-get install -yq sudo tmux htop wget grep sed gpg unzip tar curl +/sbin/adduser $USERNAME sudo + +# Docker +# Add Docker's official GPG key: +apt-get update +apt-get install -yq ca-certificates curl +install -m 0755 -d /etc/apt/keyrings +curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc +chmod a+r /etc/apt/keyrings/docker.asc + +# Add the repository to Apt sources: +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + tee /etc/apt/sources.list.d/docker.list > /dev/null +apt-get update +apt-get install -yq docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin + +echo "=> Prerequisites installed. Ready for GitHub Actions runner installation."