Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3334a877d7 | |||
| bdfe38f896 | |||
| de28f71901 | |||
| c313318eb0 | |||
| 13ed7bfcd8 | |||
| 366fdd5d34 | |||
| 9a5b698f78 | |||
| 266a467aa1 | |||
| f2c4e95f6f | |||
| 4340543fd5 | |||
| b3c20b7831 | |||
| 2749347415 | |||
| 80210206bf |
19
Makefile
19
Makefile
@@ -2,14 +2,16 @@ NAME = netoik-git
|
||||
VERSION = $(shell git describe --abbrev=0)
|
||||
RELEASE = $(shell git rev-parse --short HEAD)
|
||||
REFERENCE = $(if $(GIT_REFERENCE),$(GIT_REFERENCE),$(shell git branch --show-current))
|
||||
BUILD_ARCH = noarch
|
||||
ARCH = noarch
|
||||
|
||||
RPM_RPMDIR = $(shell rpm --eval '%{_rpmdir}')
|
||||
RPM_SBINDIR = $(shell rpm --eval '%{_sbindir}')
|
||||
RPM_SOURCEDIR = $(shell rpm --eval '%{_sourcedir}')
|
||||
RPM_SHAREDSTATEDIR = $(shell rpm --eval '%{_sharedstatedir}')
|
||||
RPM_SYSCONFDIR = $(shell rpm --eval '%{_sysconfdir}')
|
||||
RPM_UNITDIR = $(shell rpm --eval '%{_unitdir}')
|
||||
RPM_TARBALL_PATH = $(RPM_SOURCEDIR)/$(NAME)-$(VERSION).tar.gz
|
||||
|
||||
RPM_TARBALL_PATH = $(RPM_SOURCEDIR)/$(NAME)-$(VERSION)-$(RELEASE).tar.gz
|
||||
RPM_BUILD_PATH = $(RPM_RPMDIR)/$(BUILD_ARCH)/$(NAME)-$(VERSION)-$(RELEASE).$(BUILD_ARCH).rpm
|
||||
|
||||
.PHONY: name
|
||||
@@ -24,15 +26,16 @@ version:
|
||||
release:
|
||||
@echo "$(RELEASE)"
|
||||
|
||||
.PHONY: build_arch
|
||||
build_arch:
|
||||
@echo "$(BUILD_ARCH)"
|
||||
.PHONY: arch
|
||||
arch:
|
||||
@echo "$(ARCH)"
|
||||
|
||||
.PHONY: install
|
||||
install:
|
||||
install --mode=755 --directory $(DESTDIR)$(RPM_SYSCONFDIR)/gitea $(DESTDIR)$(RPM_UNITDIR) $(DESTDIR)/actrunners
|
||||
install --mode=644 --target-directory=$(DESTDIR)$(RPM_SYSCONFDIR)/gitea files/gitea/app.ini
|
||||
install --mode=644 --target-directory=$(DESTDIR)$(RPM_UNITDIR)/ files/systemd/gitea.service files/systemd/actrunner@.service
|
||||
install --mode=755 --directory $(DESTDIR)$(RPM_SYSCONFDIR)/gitea $(DESTDIR)$(RPM_SYSCONFDIR)/nginx/conf.d $(DESTDIR)$(RPM_UNITDIR) $(DESTDIR)$(RPM_SHAREDSTATEDIR)/actrunners
|
||||
install --mode=644 --target-directory=$(DESTDIR)$(RPM_SYSCONFDIR)/nginx/conf.d/ files/nginx/git.netoik.io.conf
|
||||
install --mode=640 --target-directory=$(DESTDIR)$(RPM_SYSCONFDIR)/gitea files/gitea/app.ini
|
||||
install --mode=644 --target-directory=$(DESTDIR)$(RPM_UNITDIR) files/systemd/gitea.service files/systemd/actrunner@.service
|
||||
|
||||
$(RPM_TARBALL_PATH): *
|
||||
git archive --format=tar.gz \
|
||||
|
||||
@@ -30,4 +30,4 @@ DISABLE_REGISTRATION = true
|
||||
|
||||
[session]
|
||||
PROVIDER = redis
|
||||
PROVIDER_CONFIG = /run/redis/redis.sock
|
||||
PROVIDER_CONFIG = /run/valkey/valkey.sock
|
||||
|
||||
9
files/nginx/git.netoik.io.conf
Normal file
9
files/nginx/git.netoik.io.conf
Normal file
@@ -0,0 +1,9 @@
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name git.netoik.io;
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ After=network.target gitea.service
|
||||
ExecStartPre=/usr/bin/rpmdev-setuptree
|
||||
ExecStart=/usr/local/bin/act_runner daemon
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
WorkingDirectory=/opt/actrunners/actrunner%i
|
||||
WorkingDirectory=/var/lib//actrunners/actrunner%i
|
||||
TimeoutSec=0
|
||||
RestartSec=10
|
||||
Restart=always
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[Unit]
|
||||
Description=Gitea (Git with a cup of tea)
|
||||
After=network.target postgresql.service
|
||||
After=network.target postgresql.service valkey.service
|
||||
|
||||
[Service]
|
||||
RestartSec=2s
|
||||
|
||||
@@ -7,10 +7,10 @@ Summary: Netoik Reverse Proxy
|
||||
License: MIT
|
||||
URL: https://git.netoik.io/samuel/%(make name)
|
||||
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
Buildarch: %(make build_arch)
|
||||
Source0: %{name}-%{version}-%{release}.tar.gz
|
||||
Buildarch: %(make arch)
|
||||
BuildRequires: make
|
||||
Requires: netoik-db git
|
||||
Requires: netoik-rp netoik-db netoik-cache git
|
||||
|
||||
%description
|
||||
Install the Git UI server called Gitea.
|
||||
@@ -22,17 +22,62 @@ Install the Git UI server called Gitea.
|
||||
%make_install
|
||||
|
||||
%post
|
||||
# Download gitea bin and verify gpg signature
|
||||
wget --output-document %{_tmppath}/gitea "$GITEA_BIN_URL"
|
||||
wget --output-document %{_tmppath}/gitea.asc "$GITEA_ASC_URL"
|
||||
gpg --keyserver "$GITEA_GPG_KEYSERVER" --recv "$GITEA_GPG_RECV"
|
||||
gpg --verify %{_tmppath}/gitea.asc %{_tmppath}/gitea
|
||||
mv %{_tmppath}/gitea %{_sbindir}
|
||||
chmod 755 %{_sbindir}/gitea
|
||||
rm %{_tmppath}/gitea.asc
|
||||
|
||||
# Generate internal token and secret key
|
||||
INTERNAL_TOKEN="$(gitea generate secret INTERNAL_TOKEN)"
|
||||
SECRET_KEY="$(gitea generate secret SECRET_KEY)"
|
||||
envsubst < %{_sysconfdir}/gitea/app.ini > %{_sysconfdir}/gitea/app.ini.new
|
||||
mv %{_sysconfdir}/gitea/app.ini.new %{_sysconfdir}/gitea/app.ini
|
||||
|
||||
# Create gitea user
|
||||
useradd --system --create-home --bade-dir %{_sharedstatedir} gitea
|
||||
runuser --user gitea -- mkdir --parents %{_sharedstatedir}/gitea/{data,custom}
|
||||
chgrp gitea %{_sysconfdir}/gitea/app.ini
|
||||
|
||||
# Start gitea service
|
||||
systemctl daemon-reload
|
||||
systemctl reenable gitea.service
|
||||
systemctl restart gitea.service
|
||||
|
||||
# Create actrunners
|
||||
for i in $(seq 1 $GITEA_ACT_RUNNERS); do
|
||||
if ! id "actrunner$i"; then
|
||||
useradd --system --create-home --base-dir %{_sharedstatedir}/actrunners "actrunner$i"
|
||||
systemctl daemon-reload
|
||||
systemctl reenable "actrunner@$i"
|
||||
systemctl restart "actrunner@$i"
|
||||
fi
|
||||
done
|
||||
|
||||
%preun
|
||||
# Backup gitea data in case of problem
|
||||
runuser --user gitea -- gitea dump --config %{_sysconfdir}/gitea/app.ini --tempdir %{_tmppath}
|
||||
|
||||
%postun
|
||||
# Remove gitea user after uninstall
|
||||
if [ %1 == 0 ]; then
|
||||
systemctl stop gitea.service
|
||||
userdel --force --remove gitea
|
||||
fi
|
||||
|
||||
%files
|
||||
%attr(644, root, root) %{_sysconfdir}/nginx/conf.d/git.netoik.io.conf
|
||||
|
||||
%dir %attr(755, root, root) %{_sysconfdir}/gitea
|
||||
%attr(600, root, root) %{_sysconfdir}/gitea/app.ini
|
||||
%attr(640, root, -) %{_sysconfdir}/gitea/app.ini
|
||||
|
||||
%attr(644, root, root) %{_unitdir}/gitea.service
|
||||
%attr(644, root, root) %{_unitdir}/actrunner@.service
|
||||
|
||||
%dir %attr(755, root, root) /opt/actrunners
|
||||
%dir %attr(755, root, root) %{_sharedstatedir}/actrunners
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user