feat(jellyfin-kiosk): add debian package build and staging for jellyfin-kiosk

This commit is contained in:
bart
2026-11-04 23:26:30 +01:00
parent 6ee1625e70
commit d97a1a9662
10 changed files with 209 additions and 2 deletions
@@ -0,0 +1 @@
/etc/jellyfin-client/config.example.yaml
@@ -0,0 +1,14 @@
#!/bin/sh
set -e
mkdir -p /etc/jellyfin-client
if [ ! -f /etc/jellyfin-client/config.yaml ] && [ -f /etc/jellyfin-client/config.example.yaml ]; then
cp /etc/jellyfin-client/config.example.yaml /etc/jellyfin-client/config.yaml
chmod 644 /etc/jellyfin-client/config.yaml 2>/dev/null || true
fi
if [ -d /run/systemd/system ]; then
systemctl daemon-reload || true
fi
exit 0
@@ -0,0 +1,8 @@
#!/bin/sh
set -e
if [ -d /run/systemd/system ]; then
systemctl daemon-reload || true
fi
exit 0
@@ -0,0 +1,68 @@
# Jellyfin HTPC Client Configuration
jellyfin:
# Base URL of your Jellyfin server (can be internal IP or external domain with HTTPS)
server_url: "http://10.2.0.4:8096/jellyfin"
# Login credentials
username: "bart"
password: "8x5yPgAa"
# Device identification
client_name: "Jellyfin HTPC Client"
device_name: "HTPC Living Room"
device_id: "htpc-living-room-01"
player:
# Path to mpv binary
mpv_path: "mpv"
# MPV IPC socket location
ipc_socket: "/tmp/mpv-jellyfin.sock"
# Video output & hardware decoding
# Options for hwdec: auto, vaapi (Intel/AMD), nvdec (Nvidia), no
hwdec: "auto"
vo: "gpu"
fullscreen: false
# Audio device (use `mpv --audio-device=help` to list devices)
audio_device: "auto"
# Custom MPV arguments
extra_args:
- "--keep-open=yes"
- "--force-window=immediate"
- "--osd-font=sans-serif"
- "--osd-font-size=28"
kodi_rpc:
# Emulated Kodi JSON-RPC interface for Yatse and other Kodi remotes
enabled: true
http_port: 8080
ws_port: 9090
web_api:
# Direct REST API and web sharing page
enabled: true
host: "0.0.0.0"
port: 8097
youtube:
# Maximum resolution preference for YouTube streaming via yt-dlp
max_height: 1080
# Automatically extract metadata (title, uploader) using yt-dlp before playback
fetch_metadata: true
# Google OAuth 2.0 Client ID (Google Cloud Console -> APIs -> Credentials, type: TVs and Limited Input / Desktop)
client_id: "612788493042-0070gm71evodaajv02tcl9kjtk9s76au.apps.googleusercontent.com"
client_secret: "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"
# Pad voor het opslaan van de ingelogde YouTube sessie
token_path: "youtube_token.json"
mqtt:
# Enable MQTT client and Home Assistant auto-discovery
enabled: false
# MQTT broker host/IP
host: "10.2.0.4"
port: 1883
username: ""
password: ""
# Home Assistant MQTT discovery prefix (default: homeassistant)
discovery_prefix: "homeassistant"
# Base topic prefix for state updates and commands
topic_prefix: "jellyfin-kiosk"
@@ -0,0 +1,18 @@
[Unit]
Description=Jellyfin HTPC Kiosk & YouTube Receiver
After=network-online.target sound.target graphical-session.target
Wants=network-online.target
[Service]
Type=simple
User=bart
Environment=DISPLAY=:0
Environment=WAYLAND_DISPLAY=wayland-0
ExecStart=/usr/bin/jellyfin-kiosk
WorkingDirectory=/home/bart
Restart=always
RestartSec=3s
LimitNOFILE=65536
[Install]
WantedBy=default.target