I'm a complete selfhosting beginner. How much is feasible on a single Pi 4B (4 GB RAM)?
Hey! I'm trying to get into self hosting and was wondering what would be possible with a single Pi, at least until I can get more capable hardware.
The servies I'm interested in would be things like a pihole, music server, photos server, a few personal fediverse instances (mainly owncast), a small Matrix homeserver for my friends, etc, etc. Media server but that's obviously way into the future I think.
While I don't intend or think I can run all of this on one Pi, I just want to know how much is possible. I'm really thankful for any feedback I may get. My apologies for the noobness if I'm completely wrong about all of this.
One last thing, any recommendations on any other services I should try out as a beginner?
Edit: In hindsight, I really do I wish I asked about the ability of sharing these services with people and how that would affect the load and performance. One of my biggest goals is to have this used by family and close friends.
Each project may publish minimum specs. Find what you and add them up. Fediverse instances can require several services and are the most complex thing on your list.
Fair bit (on a nanopi m4, pi has better ram and ends up being faster than the m4). I ran a matrix server (and a bunch of bridges) and syncthing on it with 4 drives. It wasn't fast. But it worked. You could consider horizontal scaling for these services by adding more Pis. You can simplify (resource wise) the Pihole by setting up dnsmasq and have the servers it look up be ones that follow the adblock lists you want.
I started my selfhosted journey with my RPi4 4G and a 4TB external HDD, currently I'am running: jellyfin, *arr stack and syncthing for obsidian. It works great for direct playing media. Also got to learn a lot creating a NFS/samba server, python, docker/podman.
it will get you started if it does not run very well try another thing, have fun!
Restic/Kopia/Borg are popular backup tools, set up a backup to another local drive, and also to online storage somewhere such as Wasabi S3, or Backblaze B2.
I have pi4 4gig. Openmediavault which has SMB shares, then music shares DAAP, DLNA. Then docker, homeassistant, cup print server, trillium notes and kanboard. Review how much you will be using at once, because mine uses only about 1 gig of RAM to handle that load. But you matrix amd other social media servers may have have higher requirements.
Consider some of the Pi alternatives that have a bit more horsepower. I've been out of the loop for a bit, but I had a lot of success with NanoPi Neo's and the Rock64. The Neos are so cheap that I ended up getting 8 of them and deploying my services across them with docker swarm.
Plex and jellyfin ran just fine on the Rock64 I used, but it started to struggle when my library got big. These devices can only really handle one transcode at a time too, that is if you can get HW acceleration to work.
Nextcloud was slow, but also ran good enough. Pydio is a good alternative for general storage and is much faster than nextcloud if you don't need all the groupware stuff.
Never tried Fediverse apps on them but they will take up a lot of space and memory, the Pi's might not be able to keep up.
Checkout the awesome-selfhosted list for some links on all the software you can try. Most will have docker containers to make setup and testing easy.
Pihole it of course can do. I wouldn't especially recommend doing much of anything else with the pi you use for your DNS. Reason being that you don't want your internet to start lagging because the pi is being overloaded by something else. I know if I disconnect my pihole the impact on internet speed is significant.
Servings up files should be fine (but check USB and ethernet speed), I wouldn't use a pi as my goto for streaming media though (that said I haven't tried it). I'd be skeptical about federated services as the amount of traffic and therefore processing can increase a lot once you connect to more instances so you could find it works fine for the first days but then gets more and more overloaded. Turn off federation and it would run fine but then what's the point? But I've only tried hosting lemmy, I don't know how others compare.
For sure. My old pi v2 became a PiHole when I moved on to later versions and it's just been quietly doing it's thing for ... I don't know, 6 years now?
Intuitively, I think that the most difficult thing to host may be the owncast. Video is a pretty taxing. One nice thing is that Raspberry Pi 4s have video codec support built-in which may help.
For Matrix, I recommend looking at Matrix Conduit, it's great for low power systems. I've got it running with like 3 other services on an Intel Atom D2550 which according to my quick search is about half as fast as a Pi 4.
I'd definitely recommend looking at nextcloud, it is great for a variety of tasks including music and photos.
Honestly, you can host quite a bit of stuff on a pi-4. Just- stay away from anything media based (don't run plex on it...).
The servies I’m interested in would be things like a pihole, music server, photos server, a few personal fediverse instances (mainly owncast), a small Matrix homeserver for my friends, etc, etc. Media server but that’s obviously way into the future I think.
All of that simultaneously, WITH external users though, prob isn't going to work well.
Also, assuming you don't already have a pi- instead of spending 80-100$ on a pi-4, spend 80-100$ on a used optiplex on ebay. Much more powerful. (and you CAN run plex on those)
The Matrix server and multimedia stuff seems fine (I'd recommend finding one software that can manage as much of that as possible, like PLEX or Jellyfin), but with a Fediverse instance, IDK, if it gets enough traffic that could drag down your device.