diff options
Diffstat (limited to 'media-tv/jellyfin/files')
-rw-r--r-- | media-tv/jellyfin/files/jellyfin.conf.d | 23 | ||||
-rwxr-xr-x | media-tv/jellyfin/files/jellyfin.init.d | 32 | ||||
-rw-r--r-- | media-tv/jellyfin/files/jellyfin.service | 13 | ||||
-rw-r--r-- | media-tv/jellyfin/files/jellyfin.service.conf | 22 | ||||
-rw-r--r-- | media-tv/jellyfin/files/logging.json | 30 |
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}" + } + } + ] + } + } + ] + } +} |