Skip to content

Manifest distribution based on Jellyfin version

Notifications You must be signed in to change notification settings

intro-skipper/server_configs

Repository files navigation

Why?

Jellyfin currently has no way to limit the maximum ABI version. This means that people can install incompatible versions of a plugin. Unfortunately, the error is only visible after restarting Jellyfin. The average user expects to be offered only working and compatible versions.

Caddy

The easiest method of self-hosting is to use Caddy, which is how we currently deploy on DigitalOcean. See the docker-compose.yaml and Caddyfile for reference.

Caddyfile Updater (optional)

We switched to jsDelivr in oder to serve manifest and logo requests in without hitting GitHub API limits. Caddyfile Updater always serves the current version by updating the Caddyfile and reloading Caddy without any downtime.

Apache Server with mod_rewrite

Almost all webhosters have Apache mod_rewrite enabled. PHP always has restrictions and is not needed anyway.

Cloudflare Domain Redirect Rules

Caution

Some countries block Cloudflare

Instead of spending money for a webhoster you can connect a domain to cloudflare and use domain redirect rules.

Rules -> Redirect Rules

All rules are Custom filter expressions

Field Operator Value URL redirect Type URL Status code
User Agent strict wildcard Jellyfin-Server/10.11.* Static https://raw.githubusercontent.com/intro-skipper/manifest/refs/heads/main/10.11/manifest.json 302
User Agent strict wildcard Jellyfin-Server/10.10.* Static https://raw.githubusercontent.com/intro-skipper/manifest/refs/heads/main/10.10/manifest.json 302
User Agent strict wildcard Jellyfin-Server/10.9.* Static https://raw.githubusercontent.com/intro-skipper/manifest/refs/heads/main/10.9/manifest.json 302
User Agent strict wildcard Jellyfin-Server/10.8.* Static https://raw.githubusercontent.com/intro-skipper/manifest/refs/heads/main/10.8/manifest.json 302

Reserved IPv6 DigitalOcean

Inspired by DigitalOcean Docs Enable Reserved IPv6

Our script generates and implements a permanent network plan.

curl -fsSL https://raw.githubusercontent.com/intro-skipper/server_configs/refs/heads/main/set_reserved_ipv6.sh | bash

About

Manifest distribution based on Jellyfin version

Resources

Code of conduct

Stars

Watchers

Forks