Adding Jellyfin for music. - selfhost - Incus configurations for my self-hosted setup.
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
(DIR) commit 8bec9483eb5f6319c03a8c2f7560ae202f777f4a
(DIR) parent 2e337e95c067dbadbb8f3bf59c37dc8f6694d111
(HTM) Author: Jay Scott <me@jay.scot>
Date: Tue, 18 Jun 2024 20:49:23 +0100
Adding Jellyfin for music.
Diffstat:
A jellyfin/files/jellyfin | 6 ++++++
A jellyfin/files/lighttpd.conf | 34 +++++++++++++++++++++++++++++++
A jellyfin/init.sh | 14 ++++++++++++++
A jellyfin/jellyfin.yaml | 31 +++++++++++++++++++++++++++++++
4 files changed, 85 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/jellyfin/files/jellyfin b/jellyfin/files/jellyfin
@@ -0,0 +1,6 @@
+supervisor=supervise-daemon
+datadir="/var/lib/jellyfin"
+cachedir="/var/cache/jellyfin"
+logdir="/var/log/jellyfin"
+webdir="/usr/share/webapps/jellyfin-web"
+opts=""
(DIR) diff --git a/jellyfin/files/lighttpd.conf b/jellyfin/files/lighttpd.conf
@@ -0,0 +1,34 @@
+var.basedir = "/var/www/localhost"
+var.logdir = "/var/log/lighttpd"
+var.statedir = "/var/lib/lighttpd"
+
+include "mime-types.conf"
+server.username = "lighttpd"
+server.groupname = "lighttpd"
+server.document-root = var.basedir + "/htdocs"
+server.pid-file = "/run/lighttpd.pid"
+server.errorlog = var.logdir + "/error.log"
+index-file.names = ("index.html")
+
+server.modules += ( "mod_redirect", "mod_openssl", "mod_proxy")
+
+$SERVER["socket"] == ":443" {
+ ssl.engine = "enable"
+ ssl.pemfile = "/etc/lighttpd/certs/jay.scot.cer"
+ ssl.privkey = "/etc/lighttpd/certs/jay.scot.key"
+ ssl.openssl.ssl-conf-cmd = ("MinProtocol" => "TLSv1.3", "Options" => "-ServerPreference")
+
+ server.name = "dashboard.jay.scot"
+ server.document-root = "/srv/www/"
+ proxy.server = ( "" => (
+ ( "host" => "127.0.0.1", "port" => 8096 )
+ )
+ )
+
+}
+
+$HTTP["scheme"] == "http" {
+ $HTTP["host"] =~ ".*" {
+ url.redirect = (".*" => "https://%0$0")
+ }
+}
(DIR) diff --git a/jellyfin/init.sh b/jellyfin/init.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+HOST=jellyfin
+
+incus stop $HOST
+incus delete $HOST
+incus launch images:alpine/3.20/cloud $HOST < $HOST.yaml
+
+incus file push ./files/lighttpd.conf $HOST/etc/lighttpd/ -pv --mode 644
+incus file push ./files/jellyfin $HOST/etc/conf.d/ -pv --mode 644
+incus exec $HOST -- cloud-init status --wait
+incus exec $HOST -- rc-service lighttpd start
+incus exec $HOST -- rc-service jellyfin start
+
(DIR) diff --git a/jellyfin/jellyfin.yaml b/jellyfin/jellyfin.yaml
@@ -0,0 +1,31 @@
+devices:
+ media:
+ path: /srv/media
+ source: /srv/media
+ type: disk
+ certs:
+ path: /etc/lighttpd/certs
+ source: /srv/certs
+ type: disk
+ shift: true
+
+config:
+ cloud-init.network-config: |
+ version: 2
+ ethernets:
+ eth0:
+ addresses:
+ - 192.168.2.15/24
+ gateway4: 192.168.2.1
+ cloud-init.user-data: |
+ #cloud-config
+ package_upgrade: true
+ hostname: jellyfin.jay.scot
+ timezone: Europe/London
+ manage_resolv_conf: true
+ resolv_conf:
+ nameservers: ['192.168.2.10', '1.1.1.1']
+ packages:
+ - jellyfin
+ - jellyfin-web
+ - lighttpd