How do I setup Jellyfin on Proxmox with only 1 SSD for storage? You put it in an unprivileged LXC, keep media and metadata on the same disk, and point transcodes at RAM. That’s it. The rest is just not overthinking it.

Don’t Split the SSD Into a Bunch of Datasets
The top forum advice says to carve up your single SSD into separate volumes for OS, media, metadata, and transcode. That’s overkill for one disk. You’re not getting any performance benefit, and you’re just making more mount points to manage. Keep it simple: one big ext4 or ZFS dataset for everything Jellyfin needs.
If you’re already using ZFS, a single dataset is fine. If you’re on ext4, a directory works. The point is you don’t need separate storage for metadata vs. media. Jellyfin’s metadata is small—posters, descriptions, a few GB at most. It can live right next to your media.
Use an LXC, Not a VM
Run Jellyfin in an unprivileged LXC container. It’s lighter than a VM, and you can pass through your media directory with a bind mount. No need for NFS or Samba on the same host. If you’re coming from a TrueNAS setup, check my post on sharing TrueNAS datasets with unprivileged LXC containers for the UID mapping part—it’s the same idea.
Create the container with a decent size root disk, like 20-30GB. That’s enough for Jellyfin and its metadata. Then bind mount your media directory into the container. If you run into permission issues, it’s almost always the UID mapping. See excluding a UID range from mapping in an unprivileged Proxmox container for the fix.

Transcode to RAM
Transcoding writes a lot of temporary files. On a single SSD, you don’t want that wear. Point Jellyfin’s transcode directory to /dev/shm, which is RAM. In the container, it’s already there. Just set the transcode path to /dev/shm/transcodes and make sure the directory exists.
mkdir -p /dev/shm/transcodes
chown jellyfin:jellyfin /dev/shm/transcodes
Then in Jellyfin’s dashboard, under Playback, set the transcoding temporary path to /dev/shm/transcodes. Done. If you’re low on RAM, you might need to limit it, but for a typical homelab it’s fine.
Backup the Metadata
Your media is probably replaceable, but the metadata—watched status, custom posters, collections—is a pain to rebuild. Back up the Jellyfin config directory. It’s usually /var/lib/jellyfin. Use Proxmox’s built-in backup for the container, or just tar it up occasionally. If you want something more robust, check immutable backup on Proxmox for ideas.
If You’d Rather Pay for This
Honestly, you don’t need to. Jellyfin is free and runs fine on a single SSD. The only paid thing that might help is a bigger SSD, but that’s not a service. If you really want someone else to handle it, a managed seedbox or a Plex Pass with hardware transcoding could offload some work, but for a homelab, just set it up yourself. It’s not worth paying for.