summaryrefslogtreecommitdiff
path: root/media-tv/jellyfin/files
diff options
context:
space:
mode:
Diffstat (limited to 'media-tv/jellyfin/files')
-rw-r--r--media-tv/jellyfin/files/jellyfin.conf.d23
-rwxr-xr-xmedia-tv/jellyfin/files/jellyfin.init.d32
-rw-r--r--media-tv/jellyfin/files/jellyfin.service13
-rw-r--r--media-tv/jellyfin/files/jellyfin.service.conf22
-rw-r--r--media-tv/jellyfin/files/logging.json30
5 files changed, 120 insertions, 0 deletions
diff --git a/media-tv/jellyfin/files/jellyfin.conf.d b/media-tv/jellyfin/files/jellyfin.conf.d
new file mode 100644
index 0000000..459d754
--- /dev/null
+++ b/media-tv/jellyfin/files/jellyfin.conf.d
@@ -0,0 +1,23 @@
+# Jellyfin default configuration options
+# This is a POSIX shell fragment
+
+# Use this file to override the default configurations; add additional
+# options with JELLYFIN_ADD_OPTS.
+#JELLYFIN_ADD_OPTS=""
+
+# Program directories
+JELLYFIN_DATA_DIR="/var/lib/jellyfin"
+JELLYFIN_CONFIG_DIR="/etc/jellyfin"
+JELLYFIN_LOG_DIR="/var/log/jellyfin"
+JELLYFIN_CACHE_DIR="/var/cache/jellyfin"
+
+# [OPTIONAL] run Jellyfin as a headless service
+#JELLYFIN_SERVICE_OPT="--service"
+
+# [OPTIONAL] run Jellyfin without the web app
+#JELLYFIN_NOWEBAPP_OPT="--noautorunwebapp"
+
+# Application username
+JELLYFIN_USER="jellyfin"
+# Full application command
+JELLYFIN_ARGS="$JELLYFIN_SERVICE_OPT $JELLFIN_NOWEBAPP_OPT $JELLYFIN_ADD_OPTS"
diff --git a/media-tv/jellyfin/files/jellyfin.init.d b/media-tv/jellyfin/files/jellyfin.init.d
new file mode 100755
index 0000000..7ce8f54
--- /dev/null
+++ b/media-tv/jellyfin/files/jellyfin.init.d
@@ -0,0 +1,32 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Jellyfin Media Server"
+
+user="${JELLYFIN_USER}:${JELLYFIN_USER}"
+
+start_stop_daemon_args="--user $user --wait 10"
+
+command="/usr/bin/jellyfin"
+command_args="--configdir $JELLYFIN_CONFIG_DIR
+ --datadir $JELLYFIN_DATA_DIR
+ --cachedir $JELLYFIN_CACHE_DIR
+ --logdir $JELLYFIN_LOG_DIR
+ $JELLYFIN_ARGS"
+
+command_background="true"
+
+pidfile="/run/jellyfin.pid"
+
+depend() {
+ need net
+ after bootmisc
+}
+
+start_pre() {
+ checkpath --directory --owner $user $JELLYFIN_CONFIG_DIR
+ checkpath --directory --owner $user $JELLYFIN_DATA_DIR
+ checkpath --directory --owner $user $JELLYFIN_CACHE_DIR
+ checkpath --directory --owner $user $JELLYFIN_LOG_DIR
+}
diff --git a/media-tv/jellyfin/files/jellyfin.service b/media-tv/jellyfin/files/jellyfin.service
new file mode 100644
index 0000000..9a147f4
--- /dev/null
+++ b/media-tv/jellyfin/files/jellyfin.service
@@ -0,0 +1,13 @@
+[Unit]
+Description = Jellyfin Media Server
+After = network.target
+
+[Service]
+Type = simple
+User = jellyfin
+ExecStart = /usr/bin/jellyfin ${JELLYFIN_SERVICE_OPT} ${JELLYFIN_NOWEBAPP_OPT} ${JELLYFIN_ADD_OPTS}
+Restart = on-failure
+TimeoutSec = 15
+
+[Install]
+WantedBy = multi-user.target
diff --git a/media-tv/jellyfin/files/jellyfin.service.conf b/media-tv/jellyfin/files/jellyfin.service.conf
new file mode 100644
index 0000000..465a8fc
--- /dev/null
+++ b/media-tv/jellyfin/files/jellyfin.service.conf
@@ -0,0 +1,22 @@
+# Jellyfin systemd configuration options
+
+# Use this file to override the user or environment file location.
+
+[Service]
+
+# Application username
+User = jellyfin
+
+# Program directories
+Environment="JELLYFIN_DATA_DIR=/var/lib/jellyfin"
+Environment="JELLYFIN_CONFIG_DIR=/etc/jellyfin"
+Environment="JELLYFIN_LOG_DIR=/var/log/jellyfin"
+Environment="JELLYFIN_CACHE_DIR=/var/cache/jellyfin"
+
+# [OPTIONAL] run Jellyfin as a headless service
+#Environment="JELLYFIN_SERVICE_OPT=--service"
+
+# [OPTIONAL] run Jellyfin without the web app
+#Environment="JELLYFIN_NOWEBAPP_OPT=--noautorunwebapp"
+
+Environment="JELLYFIN_ADD_OPTS="
diff --git a/media-tv/jellyfin/files/logging.json b/media-tv/jellyfin/files/logging.json
new file mode 100644
index 0000000..f32b208
--- /dev/null
+++ b/media-tv/jellyfin/files/logging.json
@@ -0,0 +1,30 @@
+{
+ "Serilog": {
+ "MinimumLevel": "Information",
+ "WriteTo": [
+ {
+ "Name": "Console",
+ "Args": {
+ "outputTemplate": "[{Timestamp:HH:mm:ss}] [{Level:u3}] {Message:lj}{NewLine}{Exception}"
+ }
+ },
+ {
+ "Name": "Async",
+ "Args": {
+ "configure": [
+ {
+ "Name": "File",
+ "Args": {
+ "path": "%JELLYFIN_LOG_DIR%//jellyfin.log",
+ "fileSizeLimitBytes": 10485700,
+ "rollOnFileSizeLimit": true,
+ "retainedFileCountLimit": 10,
+ "outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz}] [{Level:u3}] {Message}{NewLine}{Exception}"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+}