summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authormetamuffin2024-01-05 16:27:05 +0100
committermetamuffin2024-01-05 16:27:05 +0100
commit5ba97fbada06e986e3cc23284a038f52477aaa7a (patch)
tree49ce7d9e85fd4f36abd4b138c5d7fe1770e895c7
downloadaur-5ba97fbada06e986e3cc23284a038f52477aaa7a.tar.gz
a
-rw-r--r--.SRCINFO29
-rw-r--r--PKGBUILD41
-rw-r--r--jellything.service32
-rw-r--r--jellything.yaml20
-rw-r--r--sysusers.conf1
5 files changed, 123 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..91cf4fb78e20
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = jellything-git
+ pkgver = 0.1.0
+ pkgrel = 1
+ url = https://codeberg.org/metamuffin/jellything
+ arch = i686
+ arch = x86_64
+ arch = armv6h
+ arch = armv7h
+ arch = aarch64
+ license = AGPL3
+ makedepends = rustup
+ makedepends = esbuild
+ makedepends = nasm
+ makedepends = meson
+ makedepends = ninja
+ makedepends = cmake
+ depends = dav1d
+ optdepends = ffmpeg: Transcoding
+ backup = etc/jellything.yaml
+ source = git+https://codeberg.org/metamuffin/jellything.git
+ source = jellything.service
+ source = jellything.yaml
+ source = sysusers.conf
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+
+pkgname = jellything-git
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..2bd58de9a3e7
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: metamuffin <metamuffin@disroot.org>
+
+pkgname=jellything-git
+pkgver=0.1.0
+pkgrel=1
+pkgdesc=""
+arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
+url="https://codeberg.org/metamuffin/jellything"
+license=('AGPL3')
+depends=('dav1d')
+optdepends=('ffmpeg: Transcoding')
+makedepends=('rustup' 'esbuild' 'nasm' 'meson' 'ninja' 'cmake')
+backup=('etc/jellything.yaml')
+source=("git+https://codeberg.org/metamuffin/jellything.git"
+ "jellything.service"
+ "jellything.yaml"
+ "sysusers.conf")
+sha256sums=("SKIP"
+ "SKIP"
+ "SKIP"
+ "SKIP")
+
+prepare() {
+ cd "jellything"
+ git submodule init
+ git submodule update
+}
+build() {
+ cd "jellything"
+ rustup default nightly
+ cargo +nightly build --release
+ strip -s target/release/jellything
+ strip -s target/release/jellytool
+}
+package() {
+ install -Dm755 jellything/target/release/jellything "$pkgdir/usr/bin/jellything"
+ install -Dm755 jellything/target/release/jellytool "$pkgdir/usr/bin/jellytool"
+ install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/jellything.conf"
+ install -Dm644 jellything.service "$pkgdir/usr/lib/systemd/system/jellything.service"
+ install -Dm640 jellything.yaml "$pkgdir/etc/jellything.yaml"
+}
diff --git a/jellything.service b/jellything.service
new file mode 100644
index 000000000000..d89cc795e651
--- /dev/null
+++ b/jellything.service
@@ -0,0 +1,32 @@
+[Unit]
+Description=jellything media streaming server
+After=network.target
+Wants=network-online.target
+
+[Service]
+ExecStart=/usr/bin/jellything /etc/jellything.yaml
+User=keks-meet-server
+LockPersonality=yes
+MemoryDenyWriteExecute=yes
+NoNewPrivileges=yes
+PrivateDevices=true
+PrivateTmp=true
+ProtectClock=yes
+ProtectControlGroups=yes
+ProtectHome=true
+ProtectHostname=yes
+ProtectKernelLogs=yes
+ProtectKernelModules=yes
+ProtectKernelTunables=yes
+ProtectSystem=full
+RestrictAddressFamilies=~AF_PACKET AF_NETLINK
+RestrictNamespaces=yes
+RestrictSUIDSGID=yes
+RestrictRealtime=yes
+Restart=always
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+Type=simple
+
+[Install]
+WantedBy=multi-user.target
diff --git a/jellything.yaml b/jellything.yaml
new file mode 100644
index 000000000000..1b3a9049b41d
--- /dev/null
+++ b/jellything.yaml
@@ -0,0 +1,20 @@
+hostname: example.org
+brand: "Jellything"
+slogan: ""
+
+media_path: "/srv/media"
+asset_path: "/var/lib/jellything/assets"
+database_path: "/var/lib/jellything/db"
+library_path: "/var/lib/jellything/library"
+temp_path: "/tmp/jellything"
+cache_path: "/var/cache/jellything"
+
+# Both options need to be set to enable admin login.
+#admin_username: "admin"
+#admin_password: "hunter2"
+
+# To avoid sign-out on server restart, generate persistent keys here.
+# Use `head -c 32 /dev/random | base64`.
+#session_key:
+#cookie_key:
+
diff --git a/sysusers.conf b/sysusers.conf
new file mode 100644
index 000000000000..01c35a718356
--- /dev/null
+++ b/sysusers.conf
@@ -0,0 +1 @@
+u jellything - "jellything media streaming server" - -