Before I dabbled a bit with Docker. I wanted to dabble a bit with Podman because it seemed quite interesting. I reinstalled Pi OS Lite on my Pi 3B+ and installed Podman. Then I figured out what to run and started digging through the documentation. Apparently Docker containers work quite similar and even Docker compose can be used. Then I came across the auto update function and stumbled upon quadlets to use auto update and got confused. Then I tried reading up on Podman rootless and rootful and networking stuff and really got lost.
I want to run the following services:
- Heimdall
- Adguard Home
- Jellyfin
- Vaultwarden
- Nextcloud
I am not sure a Pi is even powerful enough to run these things but I am even more unsure about how to set things up. Do I use quadlets? Do I run containers? How do I do the networking so I can reach the containers (maybe even outside my home)?
Can someone point me in the right direction? I can’t seem to find the needed information.
@[email protected] @[email protected]
A raspberry pi is not going to be powerful enough to run these things beyond a test setup or, a really small use-case. I’d only setup #Nextcloud with the SQlite setup. And don’t plan on using it for mass storage. and for heaven sakes keep a backup. :shiba_please:
That said, if your goal is simply to run these out of your home and you want to access it beyond your intranet, all you would need is a VPN back to your house.
Avoid openVPN :openvpn: Simply because it’s a resource hog, albeit the more reliable option. Wireguard would be better especially considering you’re already going to be bottlenecked by the pi :raspberrypi:
I’d recommend wireguard. here’s a guide.
I don’t know much about Podman or Quadlets. But, a Docker instance will work just fine. :docker:
Updates are not too tricky in my opinion. I can share my own update script for my Docker Nextcloud setup if you want. It’d probably be adaptable for jellyfin and whatever else.
Just make sure you expose the Nextcloud data directory as a volume outside the container. and before you back it up always try to update so that if you have to reinstall you’ll have a better chance of having a compatible backup.
Thanks! Looks interesting. I am not quite a fan of the performance hit a VPN brings but I feel like it’s something that I need to deal with in order to suit my usecase. I thought DDNS could help me out.
Yeah I might switch back to Docker and use Watchtower to auto update. Thank you again!
Wireguard has effectively zero impact on my setup.
VPN + DDNS is what I do. You may be thinking about the perf hit of putting all your home connections through a VPN. That’s not the idea here. For self hosted services you would set up a wireguard “server” at your house. Then you connect your phone back to it to access your services.
With Wireguard it’s pretty easy to do a split tunnel, so that the VPN connection is only used for traffic to your home servers. Nothing else is affected, and you have access to your house all the time.
This is better for security than DDNS + open ports, because you only need a single open UDP port. Port scanners won’t see that you are hosting services and you wouldn’t need to build mitigations for service-specific attacks.
As far as podman, I am migrating to it from a mix of native and docker services. I agree with others that getting things set up with Docker first will be easier. But having podman as an end goal is good. Daemonless and rootless are big benefits. As are being able to manage it as systemd units via quadlets.
@MightyCuriosity
Oh, well yeah, you can do that too. In fact, you may not even need a DDNS. I don’t have one for my fedi server, and I only ever had to change the IP on my DNS after we got hit by an earthquake and all of the local datacenters went out.
I choose not to do the DNS option for 90% of the things I host. Partly because my ISP has limitations on which ports can be exposed and, in general, I prefer not to expose any ports especially when I am serving up my own data.
But that’s just my paranoia talking. :cat_rock_on: