Best things to host on a raspberry pi
Hey yall, I want to get into self-hosting. I want to start from hosting on a raspberry pi, and I am just wondering if yall have any recommendations (I've never hosted anything before, but have experience in linux and programming). Sorry if it's bit of a stupid question.
Pihole is easy and light enough. I used to host Transmission (transmission-daemon) on a 3B+ and it worked alright for seeding around 300-500 torrents. FreshRSS also worked alongside.
Pihole my is choice too. It’s pretty good, but for some reason video ads still get through even off YouTube? Is it possible to block them?
uBlock Origin gets rid of every single one.
You are not wrong, but uBlock needs to be installed on each device and only works on the browser, while pihole blocks adds across the whole network for all devices.
I have pihole but still use ublock on my personal computer
I did recommend Pihole in my original reply. But there's no way to block Youtube ads using it, as was being asked in the reply to my original reply.
Ah my bad mate, I didn't notice you were the same person and the way you wrote your reply made me think you misunderstood the advantages of each and we're recommending to use ublock only
I have started installing it when setting up new workstations at work.
You can't do that with Pihole as the ads come from the same domains, and basically need a browser extension or an app with a built in equivalent.
If you're in the UK though, it does block the ads on All4 which was a nice surprise. It even works for the TV app.
I am in the UK and that’s really useful to know. Thanks
Also blocks all the ads on itvx which was another pleasant surprise
YouTube ads don't come from a separate server. They come in the same way as the video. They pretty much need to be filtered out at the player end (e.g. browser plugins).
Pihole blocks ad domains. YouTube ads are still from youtube.com, so you have to block them on the browser level with something like Ublock Origin
You can block ads on your computer with basically any browser plugin adblocker.
If your phone is Android, using an app called ReVanced, which is a modified version of the official YouTube app that essentially gives you all the Premium features (including adblocking and picture-in-picture) for free. You can even sign in with your Google account and interact with playlists, comments, etc.
It has to be side-loaded, of course, since Google wouldn't allow that in the Play Store.
Use firefox with uBlock Origin to get rid of YouTube ads.
Pihole is the best starting point in my opinion, helped a lot of my friend to get started !
Change DNS on hosts, not on router.
Goes against the spirit of self-hosting but for some stuff(Email, DNS, Passwords), I just SaaS it out. As much as I love my lab, nothing self-hosted in my prod environment is critical.
Exactly, I can barely maintain a media server I really don't want to be responsible for my passwords and photos. There are secure alternatives that are private and open enough for my needs...
I haven't found anything software-wise (self-hosted or SaaS) that I'm satisfied with for photos. Thankfully, those are easy enough to backup and aren't used day-to-day. What have you tried, and do you like/dislike of each?
Have you looked into Immich yet? I am really liking it and the contributors are very passionate
Just checked and it's one of my many Starred repos. Thanks for the vouch though, kind of gives me a "short list" to review now.
At first I tried some self hosted solutions but I didn't like anything, eventually I landed on ente.io/ which I really like.
It has a lot of ways to import your photos, really nice mobile and pc (windows, Linux, and Mac) apps that can automatically upload your pictures in the background, the devs are really responsive (there was a bug with one of the importers so I opened a ticket and I got a lot of help in order to debug the issue and solve it).
The only thing that I don't love is that while the clients are all open source, the back end isn't because they claim they are too small of a team to keep it both open source and secure.
You should have your own DNS, but I don't trust selfhosting passwords and emails either
I'll use split-DNS for some things internally, but most things just go through NextDNS lately.
You can change the DNS on your personal devices instead of changing it on the router.
You can make an HA cluster from 2 or 3 pies. One node goes down, the other takes over. Or go the docker swarm road.
@joshuaacasey @Krafting I have two pihole instances running at home as primary and secondary DNS servers. They are both on separate nodes and that helps to make sure the wife and kids are not without internet when I am screwing around in my homelab.
This is why I only have personal devices running through it, the rest of the house is just normal DNS.
I'm hosting https://www.home-assistant.io/ on raspberry pi's.
I just started with HA as well and it's a massive rabbit hole haha. So far set up thermostats for rooms, motion sensors with smart lights and integration with Frigate for my security cams. Also set up a tablet with HA which displays all our photos from the NAS as screensaver.
Add outside environmental conditions from your national provider and purpleair, and you can figure whether it's better to run HVAC or open a window. I have an aspirational project to motorize some windows.
Depending on what method you use, you would either have to change the configuration for port mapping in a file or when you run the container. It's simple enough, and you should be able to figure it out quite easily. If not, help for Docker related stuff is never far away.
For the cost of a rpi, just get actually capable hardware. Once you actually get anything running you'll wish you had real hardware.
I've been leaning this way lately. From a cost/capability standpoint, RPis were easy to justify when they were ~$30, but not as much at their current inflated prices unless you have specific power consumption and form factor requirements. Used/refurbished Dell thin clients and MFF PCs can be had for $40-100, ranging from fanless systems with low-power Atoms and Celerons to full-fledged desktops with Core i-series CPUs, all with memory and storage included more often than not. I personally just picked up a Dell OptiPlex MFF with an i5-9500T, 8GB RAM, and 256GB SSD for $100.
Refurbished thinclients really are fantastic if you don't specifically need a pi for the formfactor. I got a bunch of Fujitsu S920 with 4GB RAM for roughly €35 a piece and I've been pretty happy with them so far.
What kind of hardware, with a similar price point to the rpi, do you think of?
Refurbished thinclients can be had for about €35. I got a few Fujitsu S920 with 4GB RAM and 8GB MSATA for around that price per piece.
Datasheet: https://content.etilize.com/Manufacturer-Brochure/1036232289.pdf
This reminds me of the old "build a gaming pc for less than a console" thing was popular for a while.
So let's assume a $90 raspberry pi (someone really splurged here)
You can drop the case and just use a cardboard box, which would allow you to afford storage. I'm just going to assume you boot from a usb and keep everything in memory.
What do you think about refurbished micro-pc's? Like this Lenovo ThinkCentre M910q Tiny (i5-6500t; 8GB RAM) for 130 euro's?
I have a refurbished dell that I got for ~$150-$200, the cpu is an i5-8500t. I think those are great deals, would absolutely recommend them for a home server. As your needs grow, you can even replace the RAM inside later.
Agreed. I picked up the M910q for $100 including shipping from a corporate sell out on Ebay. It does everything I need; and has the ability to do so much more.
One suggestion might be to load a Debian build on it and use it for docker containers. With docker containers you can do so many different things. I have a PI 4 and it does all of the following:
PiHole - For blocking ads. (Everyone should have one of these)
OpenMediaVault - For NAS
Portainers - For loading docker containers
Radarr - Downloading Movies
Sonarr - Downloading TV Shows
Tautulli - Monitors my plex server
Overseer - Allows members of my plex share to request content.
NZBGET and Real-Debrid Torrent Downloader Clients - For downloading content from usenet or real-debrid.
I have one Pi4 running all of these as docker containers. Have fun!
Seconding - you can actually squeeze a surprising amount of use out of a Pi4 running Docker.
I have an 8gb one with ELK stack in docker compose, and it's struggling to say the least, even without traffic.
Any chance you can point to a good tutorial for setting up these apps on the RPi?
Let me start by saying I hope you enjoy this stuff. Some of these can be a bit much to setup. I personally love this stuff so for me although it can be challenging it's fun.
I started out by installing OMV 6 - Open Media Vault. https://www.addictedtotech.net/how-to-install-openmediavault-6-on-a-raspberry-pi-4/
That's your starting point. From there you can install "Portainer" from the OMV extras. Portainer is where you will put all your docker containers.
Here's another script you can use to install several of these if you want to do it without OMV or docker.
https://github.com/pijarr/pijarr
Amazing, thanks so much for sharing this additional info!
honestly it is good to start with and for controlling machines like an array of 3d printers but a dumpster dive laptop will be faster. RPI4 is quite old now.
with that done:
I think you’re underselling the RPi a little there. I have an 3B+ which is running a few services well and it’s being undervolted so I could squeeze some more performance out of it with a better power supply. My Pi is currently running:
-Pi-Hole -FreshRSS -WireGuard -Gluetun -Libreddit -Deluge
is libreddit going away with the API changes?
How good is the performance of that on a rpi4? Does it work for transcoding videos?
It doesn’t. Not well. And for larger files, even on cable connection without transcoding performance is god awful, sometimes it doesn’t play, or stutters or you get awful audio desyncs. Don’t do jellyfin on rpi
Are you talking about 4k files? Because I have been running Jellyfin on my pi400 for the past two years and I've not had those issues at all. My content is 1080p max though.
Have you checked if those files are being transcoded? This will depend on the clients used and the codecs supported. I use mine mainly to stream anime at 1080p, the files I get from my current source don't trigger the transcoding (Direct Play); while some older files I had used unsupported codecs and required the transcoding.
Yep, 4k, sometimes with HDR. It was happening mostly on those. But 1080p files were also sometimes affected
I ran JF for about a year on a Pi 2B. Transcoding off at the server. No issues at all playing any file using Direct Play - including large 4K rips. I moved to an Odroid C2, again, absolutely no issues with playback.
If you’re seeing trouble with Direct Play I’d bank on it being network or storage related rather than the power of the Pi. E.g. the network hasn’t got enough throughput to serve the files. In Direct Play you need very little in terms of server resources as it’s handed off to the client.
Dunno, maybe it was storage. I had a SATA to USB3 drive hooked up to it. Couldn't have been network. I got some old office PC with i3-6100 for free, hooked it up to the same cable, same router port and everything is working mostly smooth now, on similar drive but connected directly to SATA
it ever performs awfully slow on my secondary computer with i3 cpu.
PiVPN is a simple home VPN solution that's worth exploring.
Is you are interested in smart home/home automation Home Assistant is an open source home automation platform and makes a great Pi project.
I’ve recently set up pivpn with duckdns. Are there any security related steps I should take or is the out of the box config good enough?
Pi Hole is a good start. If you're into movies and TV shows, sonarr /radarr/bazarr is an option
Would highly recommend to use docker images from https://www.linuxserver.io Except pi hole, I've dockerized everything. So much easier than installing stuff as every application does that differently.
If you have a 3d printer also check out Klipper, Octopi etc. I run mine off a pi zero 2 and it is a leap in performance over the stock board on the Ender 5.
Yeah OctoPi is a game changer. Take it one level higher if you have several 3D printers and run OctoFarm. Now I just click a button and my multi-piece print is distributed to my print wall.
Some things that haven't been proposed here might be to use it as a nas. If you want to access your films and shows from outside it's easier to set up Plex instead of jellyfin for now. You can use it also as a steam machine streaming from the pc to the tv, or as Kodi/Libreelec mediacenter to make your tv smart
If you do this, whatever you do make sure at the very least you get NAS-grade hard drives. But preferably, use some sort of RAID system as well.
I just lost years worth of data because I used a consumer external HDD as my NAS drive connected to my RPi, and I'm not sure yet if I'll be able to get it back.
for starting out any existing hard drive is enough though
Even with enterprise grade and RAID set up, some sort of backup would help.
Restic with backblaze is easy enough to set. I personally use this and an encrypted external HDD.
Pihole is a good start, though I personally use my Pi 3B+ for printer server over WiFi since I have a dumb Epson printer.
@zpoex Nextcloud is always a handy one
I have two Raspberry Pi (4 / 2) and I use them to selfhost:
Those are all as Docker services so I can easily switch to new devices in case I need to. All of them work like a charm.
My list for my raspberry pi 4 (4 GB):
If it's a Pi3b+ - you can actually host a vanilla Minecraft server on it, with some heavy optimization to reduce memory usage and no more than 4 players online. It's a fun experiment, however impractical.
I've been enjoying Plex (media server) and Shinobi (NVR)
Generally nothing that requires capable hardware, but benefits from a standardized computer that I can just flash an SD card image from my computer to deploy.
MQTT broker. Usually this does not require even a fraction of the processing power available in a RasPi.
AutoSSH. Why? So it sets up an SSH tunnel to a cloud VPS. Then I use a reverse tunnel to get terminal access to the Pi from the Internet, ignoring all firewalls / ISP NAT etc. I install this (with permission) in a client office or at home so that I can maintain local network services without driving to their office. Then they can unplug it when I'm done. This also uses only a tiny fraction of the RasPi's processing power, but the standardized hardware makes it easier to deploy (SD card image) and maintain.
Oh also it can probably run a Deliantra (http://www.deliantra.net/) server. That's a fun little game to play with some friends.
I have two rpi zeros running motioneyeOS, one is a nannycam in the baby`s bedroom, and the other is a doorcam.
I also have wireguard running on a rpi 3b, which lets me connect to the home network from anywhere (like a proxy) and access the live video feeds, and anything else on my network; like my jellyfin server (not on a raspberry).
I'm considering Home Assistant on a Raspberry pi 400, but don't really have any smart devices to use it for - thinking of buying some cheap controllable power outlets. I already have the 400, for some reason, so I have to use it for something...
I have 2 rpis and I have had running many things. Pihole, Wireguard, deluge, etc... One problem that I had is that it corrupted all my SD cards after some time. So I have them now collecting dust, and move all my services to real machines. It could be that I'm unlucky and got shitty SD cards, but I wouldn't want to install something on it that I rely to be there in case you need to reimage the whole thing.
@elghoto @zpoex get a usb ssd, they are cheap and way more reliable than an sd
AFAIK SD cards often die in RPis due to excessive writing (e.g. from logging), insufficient power supplies, and/or powering off improperly.