summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMahor2022-06-07 09:28:05 +0430
committerMahor2022-06-07 09:28:05 +0430
commit39b33177edc4651a3ebdebcb52ba82a49322c0c8 (patch)
tree3ae98873f48f6bda629a6531a8d29d2bf5c37351
parentb9c7e6347c5e45246d69cc20d164243c35c62e77 (diff)
downloadaur-39b33177edc4651a3ebdebcb52ba82a49322c0c8.tar.gz
add systemd service
-rw-r--r--PKGBUILD22
-rw-r--r--tachidesk-server.conf5
-rw-r--r--tachidesk-server.service31
-rw-r--r--tachidesk-server.sysusers2
-rw-r--r--tachidesk-server.tmpfiles2
5 files changed, 57 insertions, 5 deletions
diff --git a/PKGBUILD b/PKGBUILD
index a1659d8f398e..d2db74b140cc 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=tachidesk
pkgver=0.6.3_r1100
-pkgrel=1
+pkgrel=2
__pkgname=tachidesk-server
__PkgName=Tachidesk-Server
__pkgver="${pkgver%_*}"
@@ -18,12 +18,20 @@ provides=("$pkgname" "$__pkgname")
conflicts=("$pkgname-preview")
__jar=$__PkgName-v$__pkgver-$__revnum.jar
source=("$url/releases/download/v$__pkgver/$__jar"
+ "$__pkgname.service"
+ "$__pkgname.sysusers"
+ "$__pkgname.tmpfiles"
+ "$__pkgname.conf"
"$__pkgname.desktop"
"$__pkgname.png"
"$__pkgname-browser-launcher.sh"
"$__pkgname-debug-launcher.sh"
"$__pkgname-electron-launcher.sh")
sha256sums=('533afe39862d2af2826b9c8b5e31653b63ffd13c3fc20512e33814caa39eb5ca'
+ 'b8ae15e5dec2d20bedf4827b56a65d48b0155bd86a21147604fb714ee4208c59'
+ 'd968233df273640b51cd3daf61bab809df6fb844bee92f4f5887c09d95c482aa'
+ '715b5ad6ecdcab24f7a7663c3b606654a6c7bd6323540d29ad1440b0116e046d'
+ 'f0645eb6855fcb854dd42c000ad0ca1895b67017234d79a93cefb9b90e9b3ef6'
'7ec4e0722d0312384672ccd01d939cce0fe356cf16d23f3473e7502cdddbccd3'
'7528715b5b8d8360a9fd7dc096b51fd52bf3da671167e224b6cb637437fc4831'
'1a075de252d4d1e4a025e26d379985995893e03d2ac9182ab8a48624b7076470'
@@ -33,11 +41,15 @@ sha256sums=('533afe39862d2af2826b9c8b5e31653b63ffd13c3fc20512e33814caa39eb5ca'
noextract=("$__jar")
package() {
- install -Dm644 "$srcdir/$__jar" "$pkgdir/usr/share/java/$__pkgname/$__pkgname.jar"
- install -Dm644 "$srcdir/$__pkgname.desktop" "$pkgdir/usr/share/applications/$__pkgname.desktop"
- install -Dm644 "$srcdir/$__pkgname.png" "$pkgdir/usr/share/pixmaps/$__pkgname.png"
+ install -Dm644 "$srcdir/$__jar" "$pkgdir/usr/share/java/$__pkgname/$__pkgname.jar"
+ install -Dm644 "$srcdir/$__pkgname.service" "$pkgdir/usr/lib/systemd/system/$__pkgname.service"
+ install -Dm644 "$srcdir/$__pkgname.conf" "$pkgdir/etc/$pkgname/server.conf"
+ install -Dm644 "$srcdir/$__pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$__pkgname.conf"
+ install -Dm644 "$srcdir/$__pkgname.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/$__pkgname.conf"
+ install -Dm644 "$srcdir/$__pkgname.desktop" "$pkgdir/usr/share/applications/$__pkgname.desktop"
+ install -Dm644 "$srcdir/$__pkgname.png" "$pkgdir/usr/share/pixmaps/$__pkgname.png"
install -Dm755 "$srcdir/$__pkgname-browser-launcher.sh" "$pkgdir/usr/bin/$__pkgname-browser"
install -Dm755 "$srcdir/$__pkgname-debug-launcher.sh" "$pkgdir/usr/bin/$__pkgname-debug"
install -Dm755 "$srcdir/$__pkgname-electron-launcher.sh" "$pkgdir/usr/bin/$__pkgname-electron"
- ln -sr "$pkgdir/usr/bin/$__pkgname-browser" "$pkgdir/usr/bin/$pkgname" # keep backwards compatibility
+ ln -sr "$pkgdir/usr/bin/$__pkgname-browser" "$pkgdir/usr/bin/$pkgname" # keep backwards compatibility
}
diff --git a/tachidesk-server.conf b/tachidesk-server.conf
new file mode 100644
index 000000000000..acc64b005b78
--- /dev/null
+++ b/tachidesk-server.conf
@@ -0,0 +1,5 @@
+TACHIDESK_ROOT_DIR="/var/lib/tachidesk"
+
+# Extra arguments passed to the java command
+# The default value disables the system tray icon, and launching a browser on service start.
+JAVA_ARGS=-Dsuwayomi.tachidesk.config.server.initialOpenInBrowserEnabled=false -Dsuwayomi.tachidesk.config.server.systemTrayEnabled=false
diff --git a/tachidesk-server.service b/tachidesk-server.service
new file mode 100644
index 000000000000..a72f4c497784
--- /dev/null
+++ b/tachidesk-server.service
@@ -0,0 +1,31 @@
+[Unit]
+Description=A free and open source manga reader server that runs extensions built for Tachiyomi.
+Wants=network-online.target
+After=network-online.target
+
+[Service]
+Type=simple
+User=tachidesk
+Group=tachidesk
+SyslogIdentifier=tachidesk
+
+EnvironmentFile=/etc/tachidesk/server.conf
+ExecStart=/usr/bin/java $JAVA_ARGS -Dsuwayomi.tachidesk.config.server.rootDir="${TACHIDESK_ROOT_DIR}" -jar /usr/share/java/tachidesk-server/tachidesk-server.jar
+Restart=on-failure
+
+ProtectSystem=full
+ProtectHome=true
+PrivateTmp=yes
+PrivateDevices=yes
+ProtectClock=yes
+ProtectKernelTunables=yes
+ProtectKernelModules=yes
+ProtectKernelLogs=yes
+ProtectControlGroups=yes
+RestrictSUIDSGID=yes
+RestrictRealtime=yes
+RestrictNamespaces=yes
+NoNewPrivileges=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/tachidesk-server.sysusers b/tachidesk-server.sysusers
new file mode 100644
index 000000000000..8a666c246277
--- /dev/null
+++ b/tachidesk-server.sysusers
@@ -0,0 +1,2 @@
+#Type Name ID GECOS Home directory Shell
+u tachidesk - "Tachidesk Manga Server" /var/lib/tachidesk
diff --git a/tachidesk-server.tmpfiles b/tachidesk-server.tmpfiles
new file mode 100644
index 000000000000..d967daa87b0b
--- /dev/null
+++ b/tachidesk-server.tmpfiles
@@ -0,0 +1,2 @@
+#Type Path Mode User Group Age Argument
+d /var/lib/tachidesk 0755 tachidesk tachidesk