forked from tastytea/overlay
add new package: media-sound/navidrome-bin
This commit is contained in:
parent
593397acb8
commit
db55a393a7
8
acct-group/navidrome/metadata.xml
Normal file
8
acct-group/navidrome/metadata.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>gentoo@tastytea.de</email>
|
||||
<name>tastytea</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
11
acct-group/navidrome/navidrome-0.ebuild
Normal file
11
acct-group/navidrome/navidrome-0.ebuild
Normal file
@ -0,0 +1,11 @@
|
||||
# Copyright 2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit acct-group
|
||||
|
||||
DESCRIPTION="Group for Navidrome"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
ACCT_GROUP_ID=-1
|
8
acct-user/navidrome/metadata.xml
Normal file
8
acct-user/navidrome/metadata.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>gentoo@tastytea.de</email>
|
||||
<name>tastytea</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
15
acct-user/navidrome/navidrome-0.ebuild
Normal file
15
acct-user/navidrome/navidrome-0.ebuild
Normal file
@ -0,0 +1,15 @@
|
||||
# Copyright 2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit acct-user
|
||||
|
||||
DESCRIPTION="User for Navidrome"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
ACCT_USER_ID=-1
|
||||
ACCT_USER_HOME="/var/lib/navidrome"
|
||||
ACCT_USER_GROUPS=( ${PN} )
|
||||
|
||||
acct-user_add_deps
|
1
media-sound/navidrome-bin/Manifest
Normal file
1
media-sound/navidrome-bin/Manifest
Normal file
@ -0,0 +1 @@
|
||||
DIST navidrome_0.51.1_linux_amd64.tar.gz 15018686 BLAKE2B d1c484d041f4a0adc6884815d156c3770d68d7b493dfd351dc0d86417a2108a27af214fd887055412909adbda434ae762c74f82d8589acb847b6aa8c1c650220 SHA512 6da3d9b0b0084d97bf23eaf596552280c012082edf64f173a33282c56f5fe18091e6a6dba1a3a495f18dc937dc5fba505e6eb75e51cf3292d4aa53fec60f7704
|
19
media-sound/navidrome-bin/files/navidrome.initd
Normal file
19
media-sound/navidrome-bin/files/navidrome.initd
Normal file
@ -0,0 +1,19 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
: ${navidrome_config:=/var/lib/navidrome/navidrome.toml}
|
||||
: ${navidrome_home:=/var/lib/navidrome}
|
||||
: ${navidrome_args:=}
|
||||
|
||||
name="navidrome daemon"
|
||||
description="Navidrome Music Server and Streamer compatible with Subsonic/Airsonic"
|
||||
command=/usr/bin/navidrome
|
||||
command_args="--configfile ${navidrome_config} ${navidrome_args}"
|
||||
command_user="navidrome:navidrome"
|
||||
pidfile="/run/navidrome.pid"
|
||||
directory="${navidrome_home}"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
}
|
47
media-sound/navidrome-bin/files/navidrome.service
Normal file
47
media-sound/navidrome-bin/files/navidrome.service
Normal file
@ -0,0 +1,47 @@
|
||||
[Unit]
|
||||
Description=Navidrome Music Server and Streamer compatible with Subsonic/Airsonic
|
||||
After=remote-fs.target network.target
|
||||
AssertPathExists=/var/lib/navidrome
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
[Service]
|
||||
User=<user>
|
||||
Group=<group>
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/navidrome --configfile "/var/lib/navidrome/navidrome.toml"
|
||||
WorkingDirectory=/var/lib/navidrome
|
||||
TimeoutStopSec=20
|
||||
KillMode=process
|
||||
Restart=on-failure
|
||||
|
||||
# See https://www.freedesktop.org/software/systemd/man/systemd.exec.html
|
||||
DevicePolicy=closed
|
||||
NoNewPrivileges=yes
|
||||
PrivateTmp=yes
|
||||
PrivateUsers=yes
|
||||
ProtectControlGroups=yes
|
||||
ProtectKernelModules=yes
|
||||
ProtectKernelTunables=yes
|
||||
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
|
||||
RestrictNamespaces=yes
|
||||
RestrictRealtime=yes
|
||||
SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap
|
||||
ReadWritePaths=/var/lib/navidrome
|
||||
|
||||
# You can uncomment the following line if you're not using the jukebox This
|
||||
# will prevent navidrome from accessing any real (physical) devices
|
||||
#PrivateDevices=yes
|
||||
|
||||
# You can change the following line to `strict` instead of `full` if you don't
|
||||
# want navidrome to be able to write anything on your filesystem outside of
|
||||
# /var/lib/navidrome.
|
||||
ProtectSystem=full
|
||||
|
||||
# You can uncomment the following line if you don't have any media in /home/*.
|
||||
# This will prevent navidrome from ever reading/writing anything there.
|
||||
#ProtectHome=true
|
||||
|
||||
# You can customize some Navidrome config options by setting environment variables here. Ex:
|
||||
#Environment=ND_BASEURL="/navidrome"
|
8
media-sound/navidrome-bin/metadata.xml
Normal file
8
media-sound/navidrome-bin/metadata.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>gentoo@tastytea.de</email>
|
||||
<name>tastytea</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
41
media-sound/navidrome-bin/navidrome-bin-0.51.1.ebuild
Normal file
41
media-sound/navidrome-bin/navidrome-bin-0.51.1.ebuild
Normal file
@ -0,0 +1,41 @@
|
||||
# Copyright 2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit systemd
|
||||
|
||||
DESCRIPTION="Music Server and Streamer compatible with Subsonic/Airsonic"
|
||||
HOMEPAGE="https://www.navidrome.org/"
|
||||
SRC_URI="https://github.com/navidrome/navidrome/releases/download/v${PV}/navidrome_${PV}_linux_amd64.tar.gz"
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
# KEYWORDS="~amd64"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="media-video/ffmpeg" # TODO: ffmpeg USE-flags?
|
||||
BDEPEND=""
|
||||
|
||||
src_prepare() {
|
||||
cat << EOF > navidrome.toml
|
||||
# see <https://www.navidrome.org/docs/usage/configuration-options/#available-options> for more options
|
||||
|
||||
# ScanSchedule = '@every 24h'
|
||||
# MusicFolder = '/media/music'
|
||||
EOF
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin navidrome
|
||||
dodoc README.md
|
||||
insinto /var/lib/navidrome
|
||||
doins navidrome.toml
|
||||
fowners -R navidrome:navidrome /var/lib/navidrome
|
||||
|
||||
systemd_dounit "${FILESDIR}"/navidrome.service
|
||||
newinit.d "${FILESDIR}"/navidrome.initd
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user