commit ca37264a163c520a0701752a4cc4bff571e9f43a Author: minoplhy Date: Sun Mar 9 21:58:52 2025 +0700 init diff --git a/beszel/APKBUILD b/beszel/APKBUILD new file mode 100644 index 0000000..9be706e --- /dev/null +++ b/beszel/APKBUILD @@ -0,0 +1,71 @@ +# Contributor: Minoplhy +maintainer="Minoplhy " +pkgname=beszel +pkgver=0.9.1 +pkgrel=0 +pkgdesc="Lightweight server monitoring hub with historical data, docker stats, and alerts." +url="https://beszel.dev/" +arch="x86_64 aarch64" +license="MIT" +depends="tar curl" +makedepends="go>=1.23 npm" +install="$pkgname.pre-install $pkgname-agent.pre-install" +pkgusers="beszel beszel-agent" +pkggroups="beszel beszel-agent" +subpackages="$pkgname-openrc + $pkgname-agent + $pkgname-agent-openrc:agent_openrc + " +source="$pkgname-$pkgver.tar.gz::https://github.com/henrygd/beszel/archive/refs/tags/v$pkgver.tar.gz + $pkgname.confd + $pkgname.initd + $pkgname-agent.confd + $pkgname-agent.initd + " +options="net !check" # check: no test suite + +export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}" +export GOTMPDIR="${GOTMPDIR:-"$srcdir"}" +export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}" + +build() { + make -j1 -C $builddir/$pkgname +} + + +package() { + install -D -m 755 "$builddir"/$pkgname/build/${pkgname}_linux_* "$pkgdir"/usr/bin/$pkgname + install -D -m 755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -D -m 644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname + install -d -m 750 -o $pkgusers -g $pkggroups "$pkgdir"/var/lib/$pkgname + + install -D -m 755 "$builddir"/$pkgname/build/${pkgname}-agent_linux_* "$pkgdir"/usr/bin/$pkgname-agent + + install -d -m 755 -o beszel -g beszel "$pkgdir"/var/log/$pkgname + install -d -m 755 -o beszel-agent -g beszel-agent "$pkgdir"/var/log/$pkgname-agent +} + +agent() { + pkgdesc="Beszel agent" + + amove usr/bin/$pkgname-agent + amove var/log/$pkgname-agent +} + +agent_openrc() { + pkgdesc="Beszel agent OpenRC scripts" + + install_if="openrc ${subpkgname%-openrc}=$pkgver-r$pkgrel" + install -D -m 755 "$srcdir"/$pkgname-agent.initd "$pkgdir"/etc/init.d/$pkgname-agent + install -D -m 644 "$srcdir"/$pkgname-agent.confd "$pkgdir"/etc/conf.d/$pkgname-agent + amove etc/init.d/$pkgname-agent + amove etc/conf.d/$pkgname-agent +} + +sha512sums=" +694c4518f051f49e0a94c4cb8feaea86c0478c5ced7068137fc5b3a32d41da91f66f1967bdb13366ff4de2a62b6825225fc607a0d72d0cb3fd7bac2c31775a1e beszel-0.9.1.tar.gz +175af1b0ddf112d00feef5782a9bdf6ac37a08cd5f504e97526a2e7def9bd403216ee4cc3b4ba3f45e0724ba8fd5a736b9ceb2157095316e224ceca5f6463ff2 beszel.confd +fd64065cc06b2ec3492722bdd2da0ea3bb2a823533239e1c79c117de163dd1a9832853538f1377af57524c9023e636afc09e163a38007e8e4b71e63035d1881f beszel.initd +d999dfdafb6f206a486a3714ef99f52f4c3fbd229bc5d9248fde76679babb0be962ae4fa226e032b16a6c9dcf34ccf2c94454dc8a7a9b0134853789dba657979 beszel-agent.confd +a460056a16ad780e30ce819b8d2c484caf0243665138655bd2b8df8939bee4f7b44f41c6839a23f7423f3cf5b652f84361af653613340565978fa27dce03f4f1 beszel-agent.initd +" \ No newline at end of file diff --git a/beszel/beszel-agent.confd b/beszel/beszel-agent.confd new file mode 100644 index 0000000..17b9557 --- /dev/null +++ b/beszel/beszel-agent.confd @@ -0,0 +1,7 @@ +# Configuration for /etc/init.d/beszel-agent + +# Beszel agent require ssh key from beszel hub to run +# without KEY Enviroment, the agent won't run +KEY="" +# Beszel agent runner port, default is 45876 +PORT="45876" diff --git a/beszel/beszel-agent.initd b/beszel/beszel-agent.initd new file mode 100644 index 0000000..3f4ef50 --- /dev/null +++ b/beszel/beszel-agent.initd @@ -0,0 +1,23 @@ +#!/sbin/openrc-run + +name="beszel-agent" +description="Beszel Agent Service" +command="/usr/bin/beszel-agent" +command_user="beszel-agent" +command_background="yes" +pidfile="/run/\${RC_SVCNAME}.pid" +output_log="/var/log/beszel-agent/beszel-agent.log" +error_log="/var/log/beszel-agent/beszel-agent.err" + +start_pre() { + checkpath -f -p -m 0644 -o beszel-agent:beszel-agent "\$output_log" "\$error_log" + checkpath --directory -o beszel-agent:beszel-agent ${pidfile%/*} + + export PORT="$PORT" + export KEY="$KEY" +} + +depend() { + need net + after firewall +} \ No newline at end of file diff --git a/beszel/beszel-agent.pre-install b/beszel/beszel-agent.pre-install new file mode 100644 index 0000000..42ae630 --- /dev/null +++ b/beszel/beszel-agent.pre-install @@ -0,0 +1,7 @@ +#!/bin/sh + +addgroup -S beszel-agent 2>/dev/null +adduser -S -D -s /bin/sh -G beszel-agent -g beszel-agent beszel-agent 2>/dev/null \ + && passwd -u beszel-agent 2>/dev/null + +exit 0 \ No newline at end of file diff --git a/beszel/beszel.confd b/beszel/beszel.confd new file mode 100644 index 0000000..8d8c595 --- /dev/null +++ b/beszel/beszel.confd @@ -0,0 +1,9 @@ +# Configuration for /etc/init.d/beszel + +# Host for beszel hub +HOST=127.0.0.1 +PORT=8090 + +# Beszel dir +BESZEL_DATADIR=/var/lib/beszel +BESZEL_LOG_FILE=/var/log/beszel/beszel.log \ No newline at end of file diff --git a/beszel/beszel.initd b/beszel/beszel.initd new file mode 100644 index 0000000..e8f1f26 --- /dev/null +++ b/beszel/beszel.initd @@ -0,0 +1,23 @@ +#!/sbin/openrc-run + +supervisor=supervise-daemon +name=beszel +command="/usr/bin/beszel" +command_user="${BESZEL_USER:-beszel}" +command_args="serve --dir '${BESZEL_DATADIR:-/var/lib/beszel}' --http '${HOST:-127.0.0.1}:${PORT:-8090}'" +supervise_daemon_args="--chdir '${BESZEL_DATADIR:-/var/lib/beszel}' --stdout '${BESZEL_LOG_FILE:-/var/log/beszel/beszel.log}' --stderr '${BESZEL_LOG_FILE:-/var/log/beszel/beszel.log}'" +pidfile="/run/beszel.pid" +extra_started_commands="reopen_log" +capabilities="^cap_net_bind_service" + +depend() { + use logger dns + need net + after firewall +} + +reopen_log() { + ebegin "Reopening logfile for ${RC_SVCNAME}" + ${supervisor} ${RC_SVCNAME} --signal USR1 --pidfile "${pidfile}" + eend $? +} \ No newline at end of file diff --git a/beszel/beszel.pre-install b/beszel/beszel.pre-install new file mode 100644 index 0000000..1c7851d --- /dev/null +++ b/beszel/beszel.pre-install @@ -0,0 +1,7 @@ +#!/bin/sh + +addgroup -S beszel 2>/dev/null +adduser -S -D -s /bin/sh -G beszel -g beszel beszel 2>/dev/null \ + && passwd -u beszel 2>/dev/null + +exit 0 \ No newline at end of file diff --git a/minoplhy-gitea/1.23.1-no-activity.fakepatch b/minoplhy-gitea/1.23.1-no-activity.fakepatch new file mode 100644 index 0000000..724f3a7 --- /dev/null +++ b/minoplhy-gitea/1.23.1-no-activity.fakepatch @@ -0,0 +1,23 @@ +diff --git a/routers/web/web.go b/routers/web/web.go +index a243a79f8a..c64635c351 100644 +--- a/routers/web/web.go ++++ b/routers/web/web.go +@@ -1454,18 +1454,6 @@ func registerRoutes(m *web.Router) { + m.Group("/{username}/{reponame}/activity", func() { + m.Get("", repo.Activity) + m.Get("/{period}", repo.Activity) +- m.Group("/contributors", func() { +- m.Get("", repo.Contributors) +- m.Get("/data", repo.ContributorsData) +- }) +- m.Group("/code-frequency", func() { +- m.Get("", repo.CodeFrequency) +- m.Get("/data", repo.CodeFrequencyData) +- }) +- m.Group("/recent-commits", func() { +- m.Get("", repo.RecentCommits) +- m.Get("/data", repo.RecentCommitsData) +- }) + }, + optSignIn, context.RepoAssignment, context.RequireRepoReaderOr(unit.TypePullRequests, unit.TypeIssues, unit.TypeReleases), + context.RepoRef(), repo.MustBeNotEmpty, diff --git a/minoplhy-gitea/APKBUILD b/minoplhy-gitea/APKBUILD new file mode 100644 index 0000000..3507e1f --- /dev/null +++ b/minoplhy-gitea/APKBUILD @@ -0,0 +1,86 @@ +# Contributor: Minoplhy +maintainer="Minoplhy " +pkgname=minoplhy-gitea +pkgver=1.23.3 +pkgrel=0 +pkgdesc="I modify gitea" +arch="all" +url="https://gitea.com" +license="MIT" +depends="git git-lfs gnupg" +makedepends="go bash xz wget git tar make npm nodejs" +checkdepends="bash openssh openssh-keygen sqlite tzdata npm icu-data-full" +install="$pkgname.pre-install" +pkgusers="gitea" +pkggroups="gitea" +subpackages="$pkgname-openrc + $pkgname-assets:gitea_assets" +source=" + scriptbox.zip::https://github.com/minoplhy/scriptbox/archive/refs/heads/main.zip + gitea.initd + $pkgver-no-activity.fakepatch + + gitealogo/* + " + +#builddir="$srcdir/gitea-src-$pkgver" +options="net !check" +builddir=$srcdir/gitea + +export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}" +export GOTMPDIR="${GOTMPDIR:-"$srcdir"}" +export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}" + +preparre() { + mkdir -p "$builddir" + default_prepare +} + +build() { + bash "$srcdir"/scriptbox-main/build_gitea/Linux/build.sh --git-tag v"$pkgver" --static --type=gitea --system --dest "$builddir" --patch="$srcdir"/$pkgver-no-activity.fakepatch + #bash "$srcdir"/build.sh --git-tag v"$pkgver" --static --type=gitea --system --dest "$builddir" --patch="$srcdir"/$pkgver-no-activity.fakepatch +} + +check() { + local home="$srcdir"/home + mkdir -p "$home" + install -d -m700 "$home"/.ssh + touch "$home"/.gitconfig + + # unset CI env to skip redis, elasticsearch, meilisearch, minio tests + unset CI + env HOME="$home" GITEA_ROOT="$home" GITEA_WORK_DIR="$builddir" \ + make test-sqlite && \ + make test +} + +package() { + for dir in gitea gitea/git gitea/data gitea/db gitea/custom gitea/templates; do + install -d -m 750 -o $pkgusers -g $pkggroups \ + "$pkgdir"/var/lib/$dir + done + + install -d -m 755 -o $pkgusers -g $pkggroups "$pkgdir"/var/log/gitea + + install -D -m 755 $builddir/gitea "$pkgdir"/usr/bin/gitea + + install -D -m 755 "$srcdir"/gitea.initd \ + "$pkgdir"/etc/init.d/gitea + + install -d -m 755 "$pkgdir"/var/www + cp -r $builddir/gitea-static "$pkgdir"/var/www/gitea_static + + for logo in apple-touch-icon.png avatar_default.png favicon.png favicon.svg icon.png icon.svg logo.png logo.svg; do + install -D "$srcdir"/$logo "$pkgdir"/var/www/gitea_static/assets/img/$logo + done +} + +gitea_assets() { + amove var/www/gitea_static +} + +sha512sums=" +ff2a3605333393d708c127bff6b068fce90c143c22f9cfb67c1ba87be1866517ccac562a6721ada6f49454306b2400a5ee1f6d7c407dca35c244b7148e48ae05 gitea-1.23.1.tar.gz +71c767f9e851d99e6d87032faa833617ded28a292507c492bce63d0b87208819aa9ccbf8301d885da14901a4bdb93b21859883eaea78f980e8c8deb63ae8e57a gitea.initd +431184faffa8996873d92d7b0d16bc4b1a0178d264cd2928d1f49b13ad3e6470d9ede7a18c12112deeeb38f0647ccc0b012e98bcbd96e7b8496a3dc18f5b1fb7 gitea.ini +" diff --git a/minoplhy-gitea/gitea.initd b/minoplhy-gitea/gitea.initd new file mode 100644 index 0000000..e3616fe --- /dev/null +++ b/minoplhy-gitea/gitea.initd @@ -0,0 +1,32 @@ +#!/sbin/openrc-run + +supervisor=supervise-daemon +name=gitea +command="/usr/bin/gitea" +command_user="${GITEA_USER:-gitea}" +command_args="web --config '${GITEA_CONF:-/etc/gitea/app.ini}'" +supervise_daemon_args="--env GITEA_WORK_DIR='${GITEA_WORK_DIR:-/var/lib/gitea}' --chdir '${GITEA_WORK_DIR:-/var/lib/gitea}' --stdout '${GITEA_LOG_FILE:-/var/log/gitea/http.log}' --stderr '${GITEA_LOG_FILE:-/var/log/gitea/http.log}'" +pidfile="/run/gitea.pid" +extra_started_commands="reopen_log" +capabilities="^cap_net_bind_service" + +depend() { + use logger dns + need net + after firewall mysql postgresql +} + +#https://github.com/go-gitea/gitea/issues/17976 +#reload() { +# ebegin "Reloading ${RC_SVCNAME}" +# ${supervisor} ${RC_SVCNAME} --signal HUP --pidfile "${pidfile}" +# eend $? +#} + +reopen_log() { + ebegin "Reopening logfile for ${RC_SVCNAME}" + ${supervisor} ${RC_SVCNAME} --signal USR1 --pidfile "${pidfile}" + eend $? +} + +# Taken from https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/community/gitea/gitea.initd \ No newline at end of file diff --git a/minoplhy-gitea/gitealogo/apple-touch-icon.png b/minoplhy-gitea/gitealogo/apple-touch-icon.png new file mode 100644 index 0000000..d2eb706 Binary files /dev/null and b/minoplhy-gitea/gitealogo/apple-touch-icon.png differ diff --git a/minoplhy-gitea/gitealogo/avatar_default.png b/minoplhy-gitea/gitealogo/avatar_default.png new file mode 100644 index 0000000..6302752 Binary files /dev/null and b/minoplhy-gitea/gitealogo/avatar_default.png differ diff --git a/minoplhy-gitea/gitealogo/favicon.png b/minoplhy-gitea/gitealogo/favicon.png new file mode 100644 index 0000000..26863fc Binary files /dev/null and b/minoplhy-gitea/gitealogo/favicon.png differ diff --git a/minoplhy-gitea/gitealogo/favicon.svg b/minoplhy-gitea/gitealogo/favicon.svg new file mode 100644 index 0000000..795dae3 --- /dev/null +++ b/minoplhy-gitea/gitealogo/favicon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/minoplhy-gitea/gitealogo/icon.png b/minoplhy-gitea/gitealogo/icon.png new file mode 100644 index 0000000..d2eb706 Binary files /dev/null and b/minoplhy-gitea/gitealogo/icon.png differ diff --git a/minoplhy-gitea/gitealogo/icon.svg b/minoplhy-gitea/gitealogo/icon.svg new file mode 100644 index 0000000..7fe0c88 --- /dev/null +++ b/minoplhy-gitea/gitealogo/icon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/minoplhy-gitea/gitealogo/logo.png b/minoplhy-gitea/gitealogo/logo.png new file mode 100644 index 0000000..d2eb706 Binary files /dev/null and b/minoplhy-gitea/gitealogo/logo.png differ diff --git a/minoplhy-gitea/gitealogo/logo.svg b/minoplhy-gitea/gitealogo/logo.svg new file mode 100644 index 0000000..8912a1e --- /dev/null +++ b/minoplhy-gitea/gitealogo/logo.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/minoplhy-gitea/minoplhy-gitea.pre-install b/minoplhy-gitea/minoplhy-gitea.pre-install new file mode 100644 index 0000000..4c36e2b --- /dev/null +++ b/minoplhy-gitea/minoplhy-gitea.pre-install @@ -0,0 +1,7 @@ +#!/bin/sh + +addgroup -S -g 82 gitea 2>/dev/null +adduser -S -D -h /var/lib/gitea -s /bin/sh -G gitea -g gitea gitea 2>/dev/null \ + && passwd -u gitea 2>/dev/null + +exit 0 \ No newline at end of file diff --git a/minoplhy-nginx/APKBUILD b/minoplhy-nginx/APKBUILD new file mode 100644 index 0000000..12d6ef5 --- /dev/null +++ b/minoplhy-nginx/APKBUILD @@ -0,0 +1,67 @@ +# Contributor: Minoplhy +maintainer="Minoplhy " +pkgname=minoplhy-nginx-allstar +pkgver=1.27.3 +pkgrel=0 +pkgdesc="Nginx" +url="https://github.com/minoplhy/deployment" +arch="x86_64" +license="MIT" +depends=" + mercurial + libunwind + pcre-dev + zlib-dev + cmake + make + libxslt-dev + gd-dev + openssl-dev + perl-dev + geoip-dev + git + g++ + build-base + autoconf + automake + curl-dev + lmdb-dev + libtool + libxml2-dev + yajl-dev + pkgconf + wget + ninja + linux-headers + sudo +" +pkgusers="nginx" +_grp_ngx="nginx" +_grp_www="www-data" +pkggroups="$_grp_ngx $_grp_www" +install="$pkgname.pre-install" +subpackages="$pkgname-openrc + " +source="$pkgname-$pkgver.tar.gz::https://github.com/minoplhy/deployment/releases/download/alpine-nginx-release-$pkgver/alpine-nginx-release-$pkgver-allstar.tar.gz + $pkgname.initd + " +options="net !check" # check: no test suite + +package() { + install -D -m 755 "$srcdir"/home/runner/nginx_scriptbox/nginx/objs/nginx "$pkgdir"/usr/sbin/nginx + chown root:root "$pkgdir"/usr/sbin/nginx + + install -d -m 755 "$pkgdir"/lib/nginx/modules + install -D -m 755 "$srcdir"/home/runner/nginx_scriptbox/nginx/objs/*.so "$pkgdir"/lib/nginx/modules + chown -R root:root "$pkgdir"/lib/nginx/modules + + cp -r "$srcdir"/usr/* "$pkgdir"/usr + + install -D -m 755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -d -m 755 "$pkgdir"/var/log/nginx + chown $pkgusers:$_grp_ngx "$pkgdir"/var/log/nginx +} + +sha512sums=" +694c4518f051f49e0a94c4cb8feaea86c0478c5ced7068137fc5b3a32d41da91f66f1967bdb13366ff4de2a62b6825225fc607a0d72d0cb3fd7bac2c31775a1e beszel-0.9.1.tar.gz +" \ No newline at end of file diff --git a/minoplhy-nginx/minoplhy-nginx-allstar.initd b/minoplhy-nginx/minoplhy-nginx-allstar.initd new file mode 100644 index 0000000..e1dffab --- /dev/null +++ b/minoplhy-nginx/minoplhy-nginx-allstar.initd @@ -0,0 +1,71 @@ +#!/sbin/openrc-run + +description="Nginx http and reverse proxy server" +extra_commands="checkconfig" +extra_started_commands="reload reopen upgrade" + +cfgfile=${cfgfile:-/etc/nginx/nginx.conf} +pidfile=/run/nginx.pid +command=${command:-/usr/sbin/nginx} +command_args="-c $cfgfile" +required_files="$cfgfile" + +depend() { + need net + use dns logger netmount +} + +start_pre() { + checkpath --directory --owner www-data:www-data ${pidfile%/*} + $command $command_args -t -q +} + +checkconfig() { + ebegin "Checking $RC_SVCNAME configuration" + start_pre + eend $? +} + +reload() { + ebegin "Reloading $RC_SVCNAME configuration" + start_pre && start-stop-daemon --signal HUP --pidfile $pidfile + eend $? +} + +reopen() { + ebegin "Reopening $RC_SVCNAME log files" + start-stop-daemon --signal USR1 --pidfile $pidfile + eend $? +} + +upgrade() { + start_pre || return 1 + + ebegin "Upgrading $RC_SVCNAME binary" + + einfo "Sending USR2 to old binary" + start-stop-daemon --signal USR2 --pidfile $pidfile + + einfo "Sleeping 3 seconds before pid-files checking" + sleep 3 + + if [ ! -f $pidfile.oldbin ]; then + eerror "File with old pid ($pidfile.oldbin) not found" + return 1 + fi + + if [ ! -f $pidfile ]; then + eerror "New binary failed to start" + return 1 + fi + + einfo "Sleeping 3 seconds before WINCH" + sleep 3 ; start-stop-daemon --signal 28 --pidfile $pidfile.oldbin + + einfo "Sending QUIT to old binary" + start-stop-daemon --signal QUIT --pidfile $pidfile.oldbin + + einfo "Upgrade completed" + + eend $? "Upgrade failed" +} \ No newline at end of file diff --git a/minoplhy-nginx/minoplhy-nginx-allstar.pre-install b/minoplhy-nginx/minoplhy-nginx-allstar.pre-install new file mode 100644 index 0000000..0d59e7e --- /dev/null +++ b/minoplhy-nginx/minoplhy-nginx-allstar.pre-install @@ -0,0 +1,8 @@ +#!/bin/sh + +addgroup -Sg 82 www-data 2>/dev/null +addgroup -S nginx 2>/dev/null +adduser -S -D -H -h /var/www -s /sbin/nologin -G nginx -g nginx nginx 2>/dev/null +addgroup nginx www-data 2>/dev/null + +exit 0