From a9fd82ae18eb67f6288d46d40bc893598922d181 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 12 Oct 2024 16:39:21 +0200 Subject: add existing pkgbuilds --- jellything-git/PKGBUILD | 60 ++++++++++++++++++++++++++++++++++ jellything-git/jellything.install | 7 ++++ jellything-git/jellything.service | 32 ++++++++++++++++++ jellything-git/jellything.yaml | 13 ++++++++ jellything-git/jellything_secrets.yaml | 21 ++++++++++++ jellything-git/sysusers.conf | 1 + 6 files changed, 134 insertions(+) create mode 100644 jellything-git/PKGBUILD create mode 100644 jellything-git/jellything.install create mode 100644 jellything-git/jellything.service create mode 100644 jellything-git/jellything.yaml create mode 100644 jellything-git/jellything_secrets.yaml create mode 100644 jellything-git/sysusers.conf (limited to 'jellything-git') diff --git a/jellything-git/PKGBUILD b/jellything-git/PKGBUILD new file mode 100644 index 0000000..abaf289 --- /dev/null +++ b/jellything-git/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: metamuffin + +pkgname=jellything-git +pkgver=r633.5ccadd8 +pkgrel=1 +pkgdesc="Jellything media streaming server" +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/metamuffin/jellything" +license=('AGPL-3.0-only') +depends=('dav1d' 'libavif' 'zstd') +optdepends=('ffmpeg: Transcoding') +makedepends=('rustup' 'esbuild' 'nasm' 'meson' 'ninja' 'cmake' 'mdbook') +backup=('etc/jellything.yaml' 'etc/jellything_secrets.yaml') +install='jellything.install' +source=("git+https://codeberg.org/metamuffin/jellything.git" + "jellything.service" + "jellything.yaml" + "jellything_secrets.yaml" + "sysusers.conf") +sha256sums=("SKIP" + "SKIP" + "SKIP" + "SKIP" + "SKIP") + +pkgver() { + cd "jellything" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + cd "jellything" + git submodule init + git submodule update + cargo +nightly fetch --locked --target "$CHOST" +} +build() { + cd "jellything" + cargo +nightly build --frozen --release --target "$CHOST" + cargo +nightly build --frozen --release --bin generate_completions + ./target/release/generate_completions completions + mdbook build doc +} +check() { + cd "jellything" + cargo test --release +} +package() { + install -Dm755 jellything/target/$CHOST/release/jellything "$pkgdir/usr/bin/jellything" + install -Dm755 jellything/target/$CHOST/release/jellytool "$pkgdir/usr/bin/jellytool" + install -Dm644 jellything/completions/jellytool.fish "$pkgdir/usr/share/fish/completions/jellytool.fish" + install -Dm644 jellything/completions/jellytool.bash "$pkgdir/usr/share/bash-completion/completions/jellytool" + install -Dm644 jellything/completions/_jellytool "$pkgdir/usr/share/zsh/site-functions/_jellytool" + install -Dm644 jellything/completions/jellytool.elv "$pkgdir/usr/share/elvish/lib/jellytool.elv" + install -Dm644 jellything/COPYING "$pkgdir/usr/share/licenses/jellything/COPYING" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/jellything.conf" + install -Dm644 jellything.service "$pkgdir/usr/lib/systemd/system/jellything.service" + install -Dm644 jellything.yaml "$pkgdir/etc/jellything.yaml" + install -Dm640 jellything_secrets.yaml "$pkgdir/etc/jellything_secrets.yaml" + mkdir -p "$pkgdir/usr/share/doc" && cp -r jellything/target/book "$pkgdir/usr/share/doc/jellything" +} diff --git a/jellything-git/jellything.install b/jellything-git/jellything.install new file mode 100644 index 0000000..eadb9eb --- /dev/null +++ b/jellything-git/jellything.install @@ -0,0 +1,7 @@ + +pre_upgrade() { + if [ -e /usr/bin/jellytool ]; then + echo 'Backing up the previous jellytool version...' + cp -v /usr/bin/jellytool{,.old} + fi +} diff --git a/jellything-git/jellything.service b/jellything-git/jellything.service new file mode 100644 index 0000000..9ec78f7 --- /dev/null +++ b/jellything-git/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=jellything +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-git/jellything.yaml b/jellything-git/jellything.yaml new file mode 100644 index 0000000..1be19b4 --- /dev/null +++ b/jellything-git/jellything.yaml @@ -0,0 +1,13 @@ +hostname: example.org +brand: "Jellything" +slogan: "" +admin_username: admin + +secrets_path: "/etc/jellything_secrets.yaml" + +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" diff --git a/jellything-git/jellything_secrets.yaml b/jellything-git/jellything_secrets.yaml new file mode 100644 index 0000000..b81eafa --- /dev/null +++ b/jellything-git/jellything_secrets.yaml @@ -0,0 +1,21 @@ +# This file contains secret information for jellything. + +# You need to set a passwort to enable admin login. +#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: + +# Credentials for federating remote instances +federation: {} + #"jellything.example.org": { username: "fed_example", password: "" } + +# API Keys for obtaining metadata +api: {} + #fanart_tv: "" + #tmdb: "" + #omdb: "" + #trakt: "" + #tvdb: "" diff --git a/jellything-git/sysusers.conf b/jellything-git/sysusers.conf new file mode 100644 index 0000000..01c35a7 --- /dev/null +++ b/jellything-git/sysusers.conf @@ -0,0 +1 @@ +u jellything - "jellything media streaming server" - - -- cgit v1.2.3-70-g09d2