Fedora on Raspberry Pi - Server, Desktop, or something else (specific use case)

Welcome Fedora Enthusiasts! :grinning:

This is my first post here. I am using Linux regularly for about 15 years. At the beginning it was Ubuntu, but when Ubuntu turned into Unity I escaped to Linux Mint with Cinnamon interface. On Raspberry Pi I use Ubuntu Mate as Linux Mint as well as Cinnamon desktop environment are not available for this platform.

I want to try Fedora on my RPi4 (8 GB RAM) and need to decide which version (Desktop or Server) will be the most suitable for my use case:
RPi machine with Fedora will work as a server with always logged-in user with very limited access (to check something on the Internet quickly or start long lasting download). I have small Bluetooth keyboard and mouse dedicated to my RPi as well as monitor with two HDMI ports.

System configuration (RPi4 8GB RAM):

  • normal account with root access;

  • auto-login/guest user with very limited access;

  • access to exposed services only from local network;

  • Network File System (NFS) shares:

    1. media (mainly music) on unencrypted pendrive - automatically mounted after restart;
    2. private folders of other users on encrypted (Adiantum) second pendrive - need to log-in and provide password to decrypt pendrive after restart of RPi (for security reasons);
  • Podman containers with NO root access:

    • Pi-hole;
    • Squid (for repository caching for Fedora, Mint, and Ubuntu).

To sum up, I want to have

  1. RPi working as a file server (NFS) with Pi-Hole (in Podman/Docker container), and Squid (directly or in Podman/Docker container) for repositories caching;
  2. dedicated, always logged-in user with very limited access;
  3. some folders of restricted user to be exposed through NFS to machines in private LAN.

Questions:

  1. Which version of Fedora will be the most suitable for my use case (server + always logged-in user)? Desktop, Server, or something else (what)?
  2. Any suggestions regarding Fedora installation on micro SD card (media and private folders will be placed on dedicated pendrives)? I plan to use 128 GB card. Should assure enough capacity for caching;
  3. I plan to use Log2RAM. Is there better solution dedicated for Fedora maybe?

I am interested in your opinions and suggestions. Thank you!

I haven’t messed with Pi since 3, but my main concern is how are drives connected to the Pi? I’ve had random SATA-to-USB adapters fail or underperform at various times to make me not trust important drives on anything that isn’t a native SATA or M.2/NVMe interface. I’ve also heard stuff like USB bandwidth being shared across Ethernet and drive controllers and easily saturating that bus on Pi with performance penalties.

Unless the CPU on a Pi4 is multitudes-better than Pi3’s and it has a native drive connection I wouldn’t use one for this use-case and would probably just get a X86 laptop out of a thrift store first :stuck_out_tongue:

I’d use Server; it sounds like all of that can run in the background and be interfaced over ssh.

I’d blkdiscard the SD first if it isn’t factory-new. I’m not sure on size and caching requirements.

There is a Quick Doc that covers Fedora and Raspberry Pi (Fedora on Raspberry Pi :: Fedora Docs) as well as a wiki page (Architectures/ARM/Raspberry Pi - Fedora Project Wiki). I find the wiki a bit more current.

I have 4 RPi4s with Fedora 40 (minimal) . These have been running Fedora since FC32 (? more or less). All of my devices have a USB SSD connected to one of the USB ports which is what I use to boot from. The wiki has basic install instructions using the arm-image-installer which works well. If you do not have a keyboard and monitor connected to the RPi, there is a way to do a “headless” install.

I like minimal as a starting point as I can add the needed components to get the services I need. My RPis are mostly used to experiment with Kubernetes in a home lab.

best regards

I have been using fedora 39 on my Pi 4B. Using a 64GB SD card and have had no issues. It does not connect to then internet except when I manually do an update and seems rock solid for me.

Installing server would (at least initially) require using ethernet since it does not automatically enable wifi. (I only experienced this on the RPi (aarch64) since I do not use server on my other systems.)

Espionage724, Brad Smith, and Jeff V,

Thank you for your answers so far! Really appreciated! :grinning:

Luckily this limitation of RPi3 (“Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)”) is not brought to RPi4 which seems to have separate Gigabit Ethernet controler.

I plan to use two 256 GB pendrives which offer decent speed and not warm up much (I already tested one of them to be sure). In case of system failure I will easily connect them directly to other computer. It is not final backup solution. Rather shered media library + convenient daily backup for laptops, and shared drive. I plan to backup data on normal drive from time to time (most likely weekly). It will assure me at least two copies at a time (original copy on laptop/desktop + copy on RPi’s pendrive) plus final backup on physical drive (third copy). Media library (first pendrive) will be used mainly as read-only, private folders (pendrive 2) will contain mainly PDFs (which not changing) and text documents (.odt, .doc etc.). Synchronization once an hour will prevent too frequent file updates.

Not everything will work in the background. I want to place RPi at the edge of the desk and turn on monitor from time to time to simply check something without turning on desktop or laptop. It will be convenient to simply turn on monitor as server will work 24h/7 anyway.

As I understand, blkdiscard will discard all blocks on the device thus it will improve write performance (no need to wait till drive remove data already occupying blocks)? That was your intention to recommend it for used memory cards? Thank you! I was not aware of this tool.

Thank you for the links! I will study them. :grinning:

As I mentioned, I want to use this “server” as an ad-hoc computer too. Firstly, to check something on Internet without turning on nornal computer for one minute, later, to access local homepage with environmental data. I plan to gather some data like air quality, soil humidity in plant pods, as well as temperature in few rooms and outside.

Minimal as a starting point does not sound bad. :slightly_smiling_face: What about web interface offered by Server edition? Can I easily add it to desktop/minimal version too?

Sounds great! :slightly_smiling_face: I plan to turn on automatic updates. Pi-hole and Squid will initiate the connections too, but I will reject all incoming connections from Internet (on router and on RPi).

That is not a problem. :slightly_smiling_face: I prefer cable connection.

Best regards to all! :grinning:

2 Likes

All Fedora spins and variants share the same repositories so you can, indeed, easily add a web server to workstation or desktop interface to the server or minimal variant. The difference will be in the number of additional dependencies pulled in due to the different starting point configurations.

Seems it is worth to try Fedora Minimal!
Thank you! :grinning: