9 Commits

Author SHA1 Message Date
clemens 008f53fd90 gitea act_runner is now runner
Rename all scripts to gitea-runner and remove all act_runner references.

- rename all scripts
- rename systemd service file

Note that the older service needs to be remove and re-installed
the /etc folder is now /etc/gitea-runner instead of /etc/act_runner
2026-05-17 09:41:23 +09:00
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
Clemens Schwaighofer 324b577134 Add gitea donwload file version info, missing installs are no longer forced exit
fix restart of act runner after update

when downloading gitea or act runner it will show the version that is downlaoded.
if the same version is downloaded again and alrady exists, download will be skipped
2025-02-27 12:46:09 +09:00
10 changed files with 138 additions and 53 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>`
-15
View File
@@ -1,15 +0,0 @@
#!/usr/bin/env bash
BASE_FOLDER=$(dirname "$(readlink -f "$0")")"/";
# shellcheck source=init.sh
. "${BASE_FOLDER}init.sh";
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}$" |\
xargs curl -LJO --output-dir "${download_folder}"
cd - || exit;
# __END__
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
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/runner/releases/latest |\
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);
if [ -f "${download_folder}/${file}" ]; then
echo "[!] File ${file} has already been downloaded";
exit;
fi;
echo "act_runner version to download: ${version}";
cd "${download_folder}" || exit;
echo "${download_file}" |\
xargs curl -LJO --output-dir "${download_folder}"
cd - || exit;
# __END__
+14 -4
View File
@@ -4,11 +4,21 @@ BASE_FOLDER=$(dirname "$(readlink -f "$0")")"/";
# shellcheck source=init.sh
. "${BASE_FOLDER}init.sh";
download_file=$(curl -s https://api.github.com/repos/go-gitea/gitea/releases/latest |\
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);
if [ -f "${download_folder}/${file}" ]; then
echo "[!] File ${file} has already been downloaded";
exit;
fi;
echo "gitea version to download: ${version}";
cd "${download_folder}" || exit;
curl -s https://api.github.com/repos/go-gitea/gitea/releases/latest |\
grep browser_download_url |\
cut -d '"' -f 4 |\
grep "${arch}$" |\
echo "${download_file}" |\
xargs curl -LJO --output-dir "${download_folder}"
cd - || exit;
+13 -7
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;
@@ -30,16 +34,18 @@ if [ ! -d "${download_folder}" ]; then
exit;
fi;
target_file="/usr/local/bin/gitea";
gitea_exists=1;
if [ ! -f "${target_file}" ]; then
echo "There is no gitea target file at ${target_file}. Is gitea installed?";
exit;
echo "[!] There is no gitea target file at ${target_file}. Is gitea installed?";
gitea_exists=0;
fi;
target_file_act_runner="/usr/local/bin/act_runner";
if [ ! -f "${target_file_act_runner}" ]; then
echo "There is no gitea action runner target file at ${target_file}. Is gitea action runner installed?";
exit;
target_file_gitea_runner="/usr/local/bin/gitea-runner";
gitea_runner_exists=1
if [ ! -f "${target_file_gitea_runner}" ]; then
echo "[!] There is no gitea runner target file at ${target_file_gitea_runner}. Is gitea runner installed?";
gitea_runner_exists=0
fi;
export arch target_file;
export arch target_file gitea_exists gitea_runner_exists;
# __END__
-23
View File
@@ -1,23 +0,0 @@
#!/usr/bin/env bash
BASE_FOLDER=$(dirname "$(readlink -f "$0")")"/";
# shellcheck source=init.sh
. "${BASE_FOLDER}init.sh";
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}";
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}";
chmod +x "${target_file_act_runner}";
systemctl start gitea;
echo "[DONE]";
# __END__
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
BASE_FOLDER=$(dirname "$(readlink -f "$0")")"/";
# shellcheck source=init.sh
. "${BASE_FOLDER}init.sh";
if [ -z "${1}" ]; then
echo "Please give a Gitea Runner version to upgrade to";
exit;
fi;
file_name="${download_folder}gitea-runner-${1}-${arch}.xz";
if [ ! -f "${file_name}" ]; then
echo "Cannot find file: ${file_name}";
exit;
fi;
echo -e "Update gitea runner to ${1} ... ";
systemctl stop gitea-runner;
xz -dc "${file_name}" > "${target_file_gitea_runner}";
chmod +x "${target_file_gitea_runner}";
systemctl start gitea-runner;
echo "[DONE]";
# __END__
+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 Runner
Documentation=https://gitea.com/gitea/runner
After=docker.service
[Service]
ExecStart=/usr/local/bin/gitea-runner daemon --config /etc/gitea-runner/config.yaml
ExecReload=/bin/kill -s HUP $MAINPID
WorkingDirectory=/var/lib/gitea-runner
TimeoutSec=0
RestartSec=10
Restart=always
User=gitea-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