8 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
9 changed files with 104 additions and 43 deletions
+11 -1
View File
@@ -4,7 +4,7 @@ Helps to install and setup the gitea and act_runner binary
## Things needed ## 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" 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 `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 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,10 +4,10 @@ BASE_FOLDER=$(dirname "$(readlink -f "$0")")"/";
# shellcheck source=init.sh # shellcheck source=init.sh
. "${BASE_FOLDER}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" |\ jq ".assets[].browser_download_url" |\
cut -d '"' -f 2 |\ sed -e 's/"//g' |\
grep "${arch}$"); grep "${arch}.xz$");
version=$(echo "${download_file}" | cut -d "/" -f 8); version=$(echo "${download_file}" | cut -d "/" -f 8);
file=$(echo "${download_file}" | cut -d "/" -f 9); file=$(echo "${download_file}" | cut -d "/" -f 9);
if [ -f "${download_folder}/${file}" ]; then if [ -f "${download_folder}/${file}" ]; then
@@ -17,10 +17,7 @@ fi;
echo "act_runner version to download: ${version}"; echo "act_runner version to download: ${version}";
cd "${download_folder}" || exit; cd "${download_folder}" || exit;
curl -s https://gitea.com/api/v1/repos/gitea/act_runner/releases/latest |\ echo "${download_file}" |\
jq ".assets[].browser_download_url" |\
cut -d '"' -f 2 |\
grep "${arch}$" |\
xargs curl -LJO --output-dir "${download_folder}" xargs curl -LJO --output-dir "${download_folder}"
cd - || exit; cd - || exit;
+3 -3
View File
@@ -5,9 +5,9 @@ BASE_FOLDER=$(dirname "$(readlink -f "$0")")"/";
. "${BASE_FOLDER}init.sh"; . "${BASE_FOLDER}init.sh";
download_file=$(curl -s https://api.github.com/repos/go-gitea/gitea/releases/latest |\ download_file=$(curl -s https://api.github.com/repos/go-gitea/gitea/releases/latest |\
grep browser_download_url |\ jq ".assets[].browser_download_url" |\
cut -d '"' -f 4 |\ sed -e 's/"//g' |\
grep "${arch}$"); grep "${arch}.xz$");
version=$(echo "${download_file}" | cut -d "/" -f 8); version=$(echo "${download_file}" | cut -d "/" -f 8);
file=$(echo "${download_file}" | cut -d "/" -f 9); file=$(echo "${download_file}" | cut -d "/" -f 9);
+10 -6
View File
@@ -1,6 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# check needed binaries # check needed binaries
if [ -z "$(command -v xz)" ]; then
echo "Missing xz application, aborting";
exit;
fi;
if [ -z "$(command -v curl)" ]; then if [ -z "$(command -v curl)" ]; then
echo "Missing curl application, aborting"; echo "Missing curl application, aborting";
exit; exit;
@@ -35,13 +39,13 @@ if [ ! -f "${target_file}" ]; then
echo "[!] There is no gitea target file at ${target_file}. Is gitea installed?"; echo "[!] There is no gitea target file at ${target_file}. Is gitea installed?";
gitea_exists=0; gitea_exists=0;
fi; fi;
target_file_act_runner="/usr/local/bin/act_runner"; target_file_gitea_runner="/usr/local/bin/gitea-runner";
act_runner_exists=1 gitea_runner_exists=1
if [ ! -f "${target_file_act_runner}" ]; then if [ ! -f "${target_file_gitea_runner}" ]; then
echo "[!] There is no gitea action runner target file at ${target_file}. Is gitea action runner installed?"; echo "[!] There is no gitea runner target file at ${target_file_gitea_runner}. Is gitea runner installed?";
act_runner_exists=0 gitea_runner_exists=0
fi; fi;
export arch target_file gitea_exists act_runner_exists; export arch target_file gitea_exists gitea_runner_exists;
# __END__ # __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 act_runner;
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"; echo "Please give a Gitea version to upgrade to";
exit; exit;
fi; fi;
if [ ! -f "${download_folder}gitea-${1}-${arch}" ]; then file_name="${download_folder}gitea-${1}-${arch}.xz";
echo "Cannot find file: ${download_folder}gitea-${1}-${arch}"; if [ ! -f "${file_name}" ]; then
echo "Cannot find file: ${file_name}";
exit; exit;
fi; fi;
echo -e "Update gitea to ${1} ... "; echo -e "Update gitea to ${1} ... ";
systemctl stop gitea; systemctl stop gitea;
cp "${download_folder}gitea-${1}-${arch}" "${target_file}"; xz -dc "${file_name}" > "${target_file}";
chmod +x "${target_file}"; chmod +x "${target_file}";
systemctl start gitea; systemctl start gitea;
echo "[DONE]"; 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