Goodbye Plex, Hello Jellyfin¶
These are the companion notes for JellyfinJune Episode 1 on the KTZ Systems YouTube channel.
Compose snippet¶
Here is the Docker Compose service shown in the episode. Treat the paths, hostname, domain, timezone, and published URL as examples to adapt to your own server.
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
hostname: jellyfin
devices:
- /dev/dri:/dev/dri
volumes:
- "/mnt/nvmeu2/appdata/mediaservers/jellyfin:/config"
- "/mnt/rust/media:/mnt/rust/media:ro"
- /mnt/downloads:/downloads:ro
labels:
- traefik.enable=true
- "traefik.http.routers.jellyfin.rule=Host(`jf.wd.ktz.me`)"
- traefik.http.services.jellyfin.loadbalancer.server.port=8096
ports:
- 2285:8096
- 8096:8096
environment:
- "PUID=1000"
- "PGID=1000"
- "TZ=US/Eastern"
- "JELLYFIN_PublishedServerUrl=https://jf.wd.ktz.me"
restart: unless-stopped
Login banner¶
Several folks asked what the Meeseeks server in the video showed on SSH login.

The first part uses arsham/figurine, which Alex covered in this YouTube video. The drive temperature section is a custom script from the ktz-server-welcome role in the IronicBadger infra repo.