7 Commits

Author SHA1 Message Date
clemens dfad774412 Fix gitea act-runner API url 2026-05-17 09:34:23 +09:00
Clemens Schwaighofer 169e50a4e5 README update 2026-04-23 16:19:13 +09:00
Clemens Schwaighofer 1905a8affb Remove double curl call for act_runner download 2026-04-23 14:14:59 +09:00
Clemens Schwaighofer a58e0d8de5 Update gitea download and switch to xz files
XZ files are downloaded
Change that any grep is replaced by jq command, and sed for " replace

Add systemd service files as samples
2026-04-23 14:11:31 +09:00
Clemens Schwaighofer 26cbfbe39f Merge branch 'master' of git.gullevek.org:clemens/gitea-download 2026-04-23 13:41:14 +09:00
Clemens Schwaighofer 147f3e07d1 Switch gitea download check to jq query from grep 2026-04-23 13:39:50 +09:00
clemens d32ddb1734 Fix gitea action runner target file path in init.sh
Used the wrong variable name in the error message for the gitea action runner target file path.
2025-05-28 22:59:42 +09:00
8 changed files with 79 additions and 18 deletions
+11 -1
View File
@@ -4,7 +4,7 @@ Helps to install and setup the gitea and act_runner binary
## Things needed
The application "curl" and "jq" must be installed.
The application "xc", "curl" and "jq" must be installed.
Both gitea and act_runner must be run a systemd control file named "gitea" and "act_runner"
@@ -32,3 +32,13 @@ Run `install.sh <version>` to install the newest version
Run `download-act_runner.sh` to download the latest file. Fill re-download as a different name if the same file is requested
Run `install-act_runner.sh <version>` to install the newest version
## Systemd
in the `systemd` folder are systemd service files that can be used with gitea and the act_runner
Note that in the gitea.service the "[Unit]" After= block needs to be adjusted depending on what services are used
[See more here](https://docs.gitea.com/installation/linux-service)
Copy them into `/etc/systemd/system/` and run `systemctl daemon-reload`, after that they can be launched with `systemctl start <name>` and enabled with `systemctl enable <name>`
+4 -7
View File
@@ -4,10 +4,10 @@ BASE_FOLDER=$(dirname "$(readlink -f "$0")")"/";
# shellcheck source=init.sh
. "${BASE_FOLDER}init.sh";
download_file=$(curl -s https://gitea.com/api/v1/repos/gitea/act_runner/releases/latest |\
download_file=$(curl -s https://gitea.com/api/v1/repos/gitea/runner/releases/latest |\
jq ".assets[].browser_download_url" |\
cut -d '"' -f 2 |\
grep "${arch}$");
sed -e 's/"//g' |\
grep "${arch}.xz$");
version=$(echo "${download_file}" | cut -d "/" -f 8);
file=$(echo "${download_file}" | cut -d "/" -f 9);
if [ -f "${download_folder}/${file}" ]; then
@@ -17,10 +17,7 @@ fi;
echo "act_runner version to download: ${version}";
cd "${download_folder}" || exit;
curl -s https://gitea.com/api/v1/repos/gitea/act_runner/releases/latest |\
jq ".assets[].browser_download_url" |\
cut -d '"' -f 2 |\
grep "${arch}$" |\
echo "${download_file}" |\
xargs curl -LJO --output-dir "${download_folder}"
cd - || exit;
+3 -3
View File
@@ -5,9 +5,9 @@ BASE_FOLDER=$(dirname "$(readlink -f "$0")")"/";
. "${BASE_FOLDER}init.sh";
download_file=$(curl -s https://api.github.com/repos/go-gitea/gitea/releases/latest |\
grep browser_download_url |\
cut -d '"' -f 4 |\
grep "${arch}$");
jq ".assets[].browser_download_url" |\
sed -e 's/"//g' |\
grep "${arch}.xz$");
version=$(echo "${download_file}" | cut -d "/" -f 8);
file=$(echo "${download_file}" | cut -d "/" -f 9);
+5 -1
View File
@@ -1,6 +1,10 @@
#!/usr/bin/env bash
# check needed binaries
if [ -z "$(command -v xz)" ]; then
echo "Missing xz application, aborting";
exit;
fi;
if [ -z "$(command -v curl)" ]; then
echo "Missing curl application, aborting";
exit;
@@ -38,7 +42,7 @@ fi;
target_file_act_runner="/usr/local/bin/act_runner";
act_runner_exists=1
if [ ! -f "${target_file_act_runner}" ]; then
echo "[!] There is no gitea action runner target file at ${target_file}. Is gitea action runner installed?";
echo "[!] There is no gitea action runner target file at ${target_file_act_runner}. Is gitea action runner installed?";
act_runner_exists=0
fi;
+4 -3
View File
@@ -8,14 +8,15 @@ if [ -z "${1}" ]; then
echo "Please give a Gitea Action Runner version to upgrade to";
exit;
fi;
if [ ! -f "${download_folder}act_runner-${1}-${arch}" ]; then
echo "Cannot find file: ${download_folder}act_runner-${1}-${arch}";
file_name="${download_folder}act_runner-${1}-${arch}.xz";
if [ ! -f "${file_name}" ]; then
echo "Cannot find file: ${file_name}";
exit;
fi;
echo -e "Update gitea action runner to ${1} ... ";
systemctl stop act_runner;
cp "${download_folder}act_runner-${1}-${arch}" "${target_file_act_runner}";
xz -dc "${file_name}" > "${target_file_act_runner}";
chmod +x "${target_file_act_runner}";
systemctl start act_runner;
echo "[DONE]";
+4 -3
View File
@@ -8,14 +8,15 @@ if [ -z "${1}" ]; then
echo "Please give a Gitea version to upgrade to";
exit;
fi;
if [ ! -f "${download_folder}gitea-${1}-${arch}" ]; then
echo "Cannot find file: ${download_folder}gitea-${1}-${arch}";
file_name="${download_folder}gitea-${1}-${arch}.xz";
if [ ! -f "${file_name}" ]; then
echo "Cannot find file: ${file_name}";
exit;
fi;
echo -e "Update gitea to ${1} ... ";
systemctl stop gitea;
cp "${download_folder}gitea-${1}-${arch}" "${target_file}";
xz -dc "${file_name}" > "${target_file}";
chmod +x "${target_file}";
systemctl start gitea;
echo "[DONE]";
+16
View File
@@ -0,0 +1,16 @@
[Unit]
Description=Gitea Actions runner
Documentation=https://gitea.com/gitea/act_runner
After=docker.service
[Service]
ExecStart=/usr/local/bin/act_runner daemon --config /etc/act_runner/config.yaml
ExecReload=/bin/kill -s HUP $MAINPID
WorkingDirectory=/var/lib/act_runner
TimeoutSec=0
RestartSec=10
Restart=always
User=act_runner
[Install]
WantedBy=multi-user.target
+32
View File
@@ -0,0 +1,32 @@
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
After=postgresql.service
#After=memcached.service
#After=redis.service
[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target