Jellyfin / Paperless-ngx on Raspberry Pi 4?
from frosch@sh.itjust.works to selfhosted@lemmy.world on 14 May 11:45
https://sh.itjust.works/post/60171250

Does anyone run one of the above on a Pi 4 and can share their experience how good or bad they run?

If course, transcoding won’t be any good and OCR probably cannot run in parallel, but aside from that - is it okay?

Currently running everything on a mini ITX with a i5-6600 which handles this easily for my small use cases, but also draws 20-30W idling most of the day… I’m eyeing a Pi 4b with 8gb RAM but don’t want to spend the money and then realizing that it doesn’t run smooth enough

#selfhosted

threaded - newest

IcedRaktajino@startrek.website on 14 May 12:00 next collapse

I run Jellyfin on a Banana Pi M4 Zero. It’s a little less capable than the Pi4 but runs JF just fine. Specs on this one are quad core 1.5 GHz, 4 GB RAM, 32 GB eMMC on Armbian.

The media files are all on the 1 TB SD card while the Jellyfin data directory (especially the SQLite DB) are on the eMMC. This seems to work much better as the DB file kept getting corrupted on SD. Should also help the SD card from wearing out since it’s pretty much only reading data from it most of the time.

As you guessed, transcoding is not going to work (JF is removing the v4l2 hardware support anyway), so I pre-transcode them to H264 + yuv420p in an mp4 container before moving them to the SD card. I also scale them down to 720p to fit more on there, but that’s because this is a travel server and isn’t my main media source.

Can’t speak for Paperless though.

northernlights@lemmy.today on 14 May 13:43 next collapse

Travel server? Now that’s an idea

frosch@sh.itjust.works on 15 May 00:49 collapse

A Pi as a travel server sounds like an awesome idea!

What are the use cases for taking it with you instead of just connecting to your homelab?

Edit: Your username made me thirsty, too bad I have to wait some hundred years to get one on earth…

IcedRaktajino@startrek.website on 15 May 04:32 collapse

Thanks!

What are the use cases for taking it with you instead of just connecting to your homelab?

I built it just to see how much I could cram onto a Pi Zero clone/how many self-hosted services I could have on something I can fit on my keychain, and the answer was “a lot”. It’s something of a travel server, travel router, emergency backup server, etc.

I mainly just wanted a subset of my homelab services available in something I could take with me anywhere. Home lab could go down while away, power could go out, something to use while glamping, can take it with me if there’s ever an emergency where I have to evacuate, etc.

What started out as a single unit has become a three unit portable stack lol. Yay feature creep!

Services

  • Jellyfin (all content pre-transcoded so everything can direct stream)
  • CodeServer (setup for Python, NodeJS/Bun + React, and Platform.IO for ESP8266/ESP32 development)
  • Kiwix (including the full Wikipedia dump with images as well as offline docs for lots of code libraries I work with, etc)
  • SearxNG so I always have a sane search engine available
  • CalibreWeb with my whole ebook library
  • MPD+Snapcast+My whole music library. Also has myMPD web UI for controlling MPD. Snapcast clients can connect, and it can serve multi-speaker/multi-room audio
  • PiHole serving both ad blocking and local DNS as well as providing DHCP for the access point
  • PairDrop for sending/receiving files
  • NodeRED and Mosquitto MQTT for setting up ad-hoc automations
  • Nginx with real LetsEncrypt certs so all services have valid SSL certs and hostnames

Networking

  • One USB port is configured in ethernet gadget mode. Can plug it into a host PC and get an IP address from it
  • One wifi adapter is setup as an AP and is bridged with the USB ethernet (a PC plugged in and a wifi client are on the same L2 plane).
  • The second wifi is the “WAN” connection if one is available. Can alternatively connect to USB tethering on my phone
  • If there is any kind of “WAN” upstream, the LAN bridge (USB ethernet/Wifi) will route to it
  • Wireguard to connect back to my homelab.

File Services

  • Samba
  • Encrypted LUKS volume for critical docs (tax records, vet records for the dogs, etc)

I’ve got a second unit that connects as a client to the main one with some additional backup services:

  • Email stack( Dovecot, Postfix, SpamAssassin, ClamAV, Webmail)
  • Matrix/Synapse stack
  • Asterisk
  • Snapcast client

The second one is basically a backup to my main stack in case of disaster/power outage/etc. Those all tunnel to a cloud VPS + load balancer and only need an internet connection to setup the tunnels to receive traffic from the VPS (and route back out to it). Those services are stopped and a cron task keeps them in sync with the main ones in my homelab. If I need to fail over, I just SSH into the VPS and re-route traffic to them instead of my homelab endpoints.

I self-host my own email and chat and phone services, so those have become critical services I want to always have online. Essentially these little Pi clones are a backup stack for my most used services and one that is both extremely low power and portable should I ever need to host them on the go (house burns down, have to evacuate due to emergency, etc).

Third Unit (Still on the bench)

I have a third unit that’s built on a PiZero2W but it’s still on the workbench (but functional!). Just haven’t gotten any kind of case at all built for it.

It’s got two RTL-SDR units attached. One is tuned to the NOAA weather radio station and feeds into Snapserver on the main unit (so you can listen to the weather radio anywhere on the network) as well as piped into Meshtastic EAS-SANE alerter in order to forward emergency alerts to Meshtastic. There’s a USB-connected Meshtastic node attached as well for that.

The second RTL-SDR is setup as a generic FM radio tuned to the local variety station. It’s just piped to Snapserver on the main unit to make it available on the network.

I may convert the second SDR into a ADS-B listener, but for now, I like having the FM radio available.

Photo

I still don’t have a “full” case for it, but here is the core unit attached to a UPS circuit which gives it up to about 14 hours of runtime. I’m also planning to add a small USB hub with ethernet into that, but I’m still learning FreeCAD so I’m not quite ready to put it all together yet. The USB power cord is wrapped in aluminum foil and electrical tape due to RF from the Wifi adapter causing random glitches. I need to add some ferrite beads and route them away from that when I build it into an integrate

frosch@sh.itjust.works on 15 May 04:44 collapse

Wow, that’s a crazy and impressive setup! Pretty amazing what’s possible with something so low power that it could run off of battery and possibly solar alone…

Having such a setup for travel and emergencies is a cool idea, I’ll have to put it onto my “possibly some day” list :)

IcedRaktajino@startrek.website on 15 May 04:58 collapse

Thanks, and yeah, it’s been fun putting that all together. Unfortunately I’m still learning FreeCAD so they’re not as integrated as I’d like yet, but as soon as I have time to hammer out a design, I hope to have all 3 of these and the UPS/power supply in a nice case.

Yep, running/charging it from solar is why I ended up getting that chonky 18650-based UPS board. It’s the only one I could find that could combine 5V input and battery without dropping out (battery kicks in immediately if solar insufficient and draws the difference between input and output and charges and powers simultaneously otherwise).

mbp@slrpnk.net on 14 May 12:22 next collapse

I tried paperless years ago on my 4B and it did not work well enough to be usable.

Jellyfin was fine.

I’d say getting an x86 think centre or equivalent will cut your idle in half and give you enough overhead to run paperless and jellyfin.

Onomatopoeia@lemmy.cafe on 14 May 13:44 next collapse

I run a 2019 Dell OptiPlex SFF desktop as my ESXi box - it idles under 20w with multiple Linux and Windows VM’s (4 are standard, besides the ad-hoc ones for testing stuff).

Hard to beat the idle combined with performance when needed. Pi really doesn’t compare.

frosch@sh.itjust.works on 14 May 22:46 collapse

it did not work well enough to be usable.

Was it the overall performance or the OCR specifically?

I have run paperless some time on a pi 3b without OCR (manually doing it on a PC or when scanning with Apps like MakeACopy) and it was okay-ish. Not a lot documents though.

And I thought it was mainly the 1GB RAM limiting (starting Paperless started swapping right away…)

mbp@slrpnk.net on 15 May 08:51 collapse

I remember it also having some issues when browsing the scanned files but I did use OCR as that was a requirement for paperless being useful in my case.

theorangeninja@sopuli.xyz on 14 May 13:44 next collapse

Consider papra as a more lightweight alternative for paperless-ngx. I have not used it yet unfortunately.

frosch@sh.itjust.works on 15 May 04:33 collapse

Gotta take a look at it and spin one container up. Looks promising, too!

As I’m not completely invested in paperless, I’ll definitely try it out, thanks!

Haven’t seen support for exports/backups at first glance, that is imo a must have.

Teppichbrand@feddit.org on 14 May 13:58 next collapse

I tinkered for years with numerous Raspberry Pies but got tired of it. Bought a second hand Dell ThinClient Wyse 5070 for like 70€, installed DietPi and its awesome.

broodmother@discuss.tchncs.de on 15 May 00:22 next collapse

Zu Paperless-ngx auf dem Pi 4: Für leichte private Dokumentenmengen kann das funktionieren, aber OCR ist der Teil, der schnell zäh wird. Ich würde die Worker klein halten und OCR/Tika/Gotenberg eher auslagern, wenn regelmäßig größere PDFs reinkommen. Paperless selbst ist meist weniger das Problem als OCR + I/O; Jellyfin parallel ist ohne Transcoding deutlich entspannter.

KatherinaReichelt@feddit.org on 15 May 02:40 next collapse

Als Privatnutzer bekommt man ja eher seltener gigantische Mengen an Papier per Post. Das sind dann maximal ein paar Briefe pro Woche und dann ist es auch total egal, ob die OCR 10 Minuten pro Brief braucht. Und wenn du als Firma wirklich noch eine größere Menge an Briefpost zu verwalten hast, dann ist ein Raspi definitiv die falsche Wahl

frosch@sh.itjust.works on 15 May 04:29 collapse

Ja, weniger Worker, dann dauert das OCR eben Mal länger. Da das eher selten ich muss das Dokument sofort im Paperless anschauen, kann das meinetwegen auch seine Minuten brauchen.

Bin bisher auch noch nicht 100% auf den Workflow eingeschossen:

  • MakeACopy macht ganz gutes OCR auf dem Handy, die Scans sind aber oft etwas wackelig.
  • FairScan macht sehr gute PDFs, aber kein OCR
  • Ich habe einen Scanner, der natürlich bei 600DPI nahezu perfekte Kopien macht, die ich auf dem PC per Shell in Sekunden durch OcrMyPDF jagen kann für extrem gute Ergebnisse. Aber>5 Seiten per Hand auf dem Scannerbett… das ist dann schon nervig
gedfromgont@piefed.ca on 15 May 02:58 next collapse

I have a Pi 4B with 8 GB RAM and run Jellyfin plus some other stuff on it. Works great.

Had it first installed via repo but transcoding did not work at all. After switching to the Docker setup though, transcoding worked ok out of the box. Definitely takes a few seconds before the stream starts when having to transcode but no hiccups afterwards. Unless you jump around of course, and also I never had more than one stream trandcoding.

Decronym@lemmy.decronym.xyz on 15 May 04:40 collapse

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters
AP WiFi Access Point
DHCP Dynamic Host Configuration Protocol, automates assignment of IPs when connecting to a network
DNS Domain Name Service/System
ESXi VMWare virtual machine hypervisor
IP Internet Protocol
MQTT Message Queue Telemetry Transport point-to-point networking
PiHole Network-wide ad-blocker (DNS sinkhole)
SSH Secure Shell for remote terminal access
SSL Secure Sockets Layer, for transparent encryption
VPS Virtual Private Server (opposed to shared hosting)

10 acronyms in this thread; the most compressed thread commented on today has 20 acronyms.

[Thread #292 for this comm, first seen 15th May 2026, 11:40] [FAQ] [Full list] [Contact] [Source code]