this post was submitted on 11 Jan 2025
32 points (94.4% liked)

Selfhosted

40989 readers
791 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Greetings, so I final got wife permission to buy a pi zero 2 and a beeline 12s pro (n100) arriving tomorrow. I already have a nas drive for my media.

Question is what is the average setup and guides for this?

Of course I will be scouring this and other communities for info but the immediate items I want to fix are my plex/jellyfin server, setup RetroArch or equivalent gaming, then of course arr servers. But I would like to also get into reverse proxy and searxng, next cloud and pihole.

Any tips on how to make this beautiful?

OS recommendations? I currently run manjaro on my daily, but would think a kubuntu or kde fedora/debian spin might be better for these items.

Guides you can point me to? Suggestions for more or better options? There are plenty of answers in this community and I will look at what’s posted but any assistance is appreciated.

Thank you in advance.

I’m excited to start plying with the simple things

top 20 comments
sorted by: hot top controversial new old
[–] AMillionMonkeys@lemmy.world 6 points 3 hours ago (2 children)

I went with Debian and I use Docker for containers. I considered Proxmox, but I didn't end up trying it. PiHole is a good application for the Pi Zero (I have an early generation Pi dedicated to running PiHole), but you could also run it on the Beelink.

I strongly recommend you download Obsidian and keep hyperlinked notes on everything you do and links to every tutorial/resource you end up using.
Have a place to keep all the passwords your services will end up needing. A password manager is the best option. Make the password on your admin account on Debian (or whatever) easy to remember and enter, since you'll need to sudo a lot.
If the Beelink comes with a copy of Windows installed, you can recover the key from within Linux with the following command:
sudo strings /sys/firmware/acpi/tables/MSDM
Then you have a spare Windows key should you ever need one.

[–] Dran_Arcana@lemmy.world 1 points 46 minutes ago

Not sure if many people do what I do, but instead of taking notes I make commented functions in bash. My philosophy is: If I can't automate it; I don't understand it. After a while you build enough automation to build your workstations, your servers, all of your vms and containers, your workflows, etc, and can automate duplicating / redeploying them whenever required. One tarball and like 6 commands and I can build my entire home + homelab.

[–] 7U5K3N@lemmy.dbzer0.com 1 points 1 hour ago

That too for keeping notes is gold. I've had the lack of them bite me in the ass as recently as 3 days ago.

Thanks for the suggestion on the note app.

Not to mention the windows key deal. Awesome

[–] Fedegenerate@lemmynsfw.com 2 points 2 hours ago* (last edited 1 hour ago)

Op I was you 12 months ago. +1 installing proxmox. The ability to make mistakes in an LXCs and always having the nightly back up right there was worth it alone. Helper scripts get you close to where you want to go fast. As for guides, there's a bunch, raid owl, technotim both have initial proxmox setup guides. There are many like them, just two I remember.

It might just be me, I struggled with every step of every guide I followed, mostly because I skip to copy paste the commands... Don't do that. Chatgpt, plug the command in there and start quizzing it: "what does this do, what are the flags doing, I want to do x will command work". Then don't copy chatgpt either, take its output back to the documentation and make sure it makes sense. Then take a snapshot. Then paste the thing. It at least forced me to slow down.

In the beginning I was about a month, just on a pi, getting a pihole and a servarr installed and configured. Then I nuked it and rebuilt in a couple weeks. Then I messed up again and rebuilt in a couple days. I dedicate 1hr to try fix what I broke using Chatgpt as mentor/rubber duck, if I can't make progress on a fix in that time I load the snapshot. Troubleshooting is a great skill, however, everything you need gets installed at least once, so get good at installing things. Back ups need testing and you should be familiar with the process, get good at recovering from back ups. Chatgpt solves most of the problems surface level problems. You'll get to a point when you get stuck chatgpt won't be any help either, but let gpt get you there quickly.

I genuinely prefer Dockge to Portainer, learn Portainer. As a rule learn the industry standard then migrate. Tonnes of articles and resources for Portainer, almost everyone using Dockge can help you with Portainer, not the other way around. The only difference is when the non-industry standard is specifically made to solve problems you have with the IS, I went with nginx proxy manager over nginx for example. GUIs are nice and I can see things working, unlike pasting a massive config and hoping. Now I have huge compose.yaml stacks for docker that I used to install one by one in Portainer.

Security is hard. Outsource all you can. Your ISP firewall is perfectly serviceable don't punch holes in it (for now). Tailscale is perfectly serviceable don't try make your own tunnels (for now). One of my earliest posts was me installing a firewall on my pi, separate from the my router, and then going into a blind panic about punching holes in my firewall. Funny to look back on, my isp firewall is still completely intact, I picked a different path.

Each iteration add one layer of complexity and take easy wins for everything else. I set up pihole bare metal, messed up the unbound install, go again. I used docker starter to set up pihole+unbound, messed up [something]... go again... Prioritise "working" over "perfect". You don't know what perfect is anyway. I don't know what perfect is, but just getting something working teaches me what would be better for next go around. If what you did is "wrong" it's going to break sooner rather than later so you get to go again. If what you did works forever be happy and enjoy the thing you built.

Oh I forgot. No big updates right before bed, before a big event or when you're out of the house. I once had an auto updater [watch tower] go off and delete my access to the internet [pihole] before downloading the new image, on my fiancée's first day off, and while I was at work. I learned a lot about redundancy for essential infrastructure to Facebook that day, rightly so. If you can't/won't want to fix broken things right then, don't be doing stuff that might break things.

[–] GunnarGrop@lemmy.ml 2 points 3 hours ago* (last edited 2 hours ago)

The Beeline is definitely powerful enough to run a hypervisor, so I would do that if I were you. Proxmox is a very good product and easy enough to use. Personally I use Harvester (with Rancher) but that might be a bit daunting if you've not used Kubernetes before.

I would recommend running Proxmox as your OS, spin up a few Debian virtual machines and run your services (Nextcloud, plex/jellyfin, ...) with Docker containers. I would personally use Podman, as I think it's the simpler one to use, but there might be more documentation online for Docker, I'm not sure. But do definitely use containers! You'll thank yourself in 6 months.

For reverse proxy I would suggest using Traefik, especially is your using Docker/Podman. But there are other good solutions like Nginx Proxy Manager, which has the advantage of being very easy to use. But I do run Traefik on every Podman server I have or any Kubernetes cluster. That way I can just have a wildcard DNS entry for an IP and then every proxy route will just work, whitout having to touch the DNS further.

Also, just a general tip: look into how you can deploy everything using a GitOps flow. Whether that just be with Ansible or more specialized solutions (Kubernetes with ArgoCD or FluxCD is very well suited for this). Look into Terraform/OpenTofu. This last point is nowhere necessary, but if you ever (like me) get tired of forgetting how you setup your infrastructure (virtual machines, application deployments and configuration, etc) you'll love GitOps.

Oh, but do definitely look into Ansible for configuring your servers. It will save you a lot of time in the long run.

[–] cantankerous_cashew@lemmy.world 1 points 2 hours ago* (last edited 2 hours ago)

The pi zero is good for small projects that don’t require a lot of compute, however I personally haven’t found it to be useful in a self-hosted context. Unless you really don’t care about performance, the low specs make it unsuitable for hosting most of the services you listed above

[–] we_avoid_temptation@lemmy.zip 5 points 5 hours ago (1 children)

I have no particular suggestions for the Pi, but for the x86 box I'd go headless Arch, install docker and go from there.

Also, I'd personally suggest switching to something that's not Manjaro. Arch has an install script now which I really like, but there's also distros like EndeavorOS that don't have a history of letting thier SSL certs expire multiple times like Manjaro does…

[–] Siathes@lemmy.dbzer0.com 1 points 5 hours ago

I’ve recently been reading more about manjaro issues. I’ll prob use this time to choose a new daily driver as well, endeavor looks interesting thanks.

[–] AtariDump@lemmy.world 6 points 7 hours ago (1 children)

Question is what is the average setup and guides for this?

I don’t think there is an “average” setup because everyone’s hardware and needs are different.

What are you trying to “fix” with Plex/Jellyifn?

Will you still be using it your existing hardware? If so, what are the specs?

OS all depends on what you’re doing; I would think for the beeline you’d run something without a GUI and utilize Docker or some sort of virtualization.

[–] Siathes@lemmy.dbzer0.com 0 points 6 hours ago (1 children)

By average I mean, lots of folks have niche needs, while mine currently are generic, so I’m wondering what’s not necessarily the best but most common.

My plex/Emby server is currently on a qnap ts563 and does not handle transcoding well. Looking to improve that with the n100 and move away from emby to try jellyfin. I keep plex because it works and I share servers with friends, but I’m curious about jellyfin.

My daily driver is not going to be part of the new setup. It’s and older frankenbuilt pc with manjaro. If anyone has interesting ideas for the nas besides holding my media please do.

I think a docker system would be best but any suggestions that encompass all this would be great. If I’m being vague it’s because I’ve always just copy pasted and read guides. I’m not as knowledgeable as I’d like to be yet.

[–] schizo@forum.uncomfortable.business 1 points 6 hours ago (2 children)

If you share access with your media to anyone you'd consider even remotely non-technical, do not drop Jellyfin in their laps.

The clients aren't nearly as good as plex, they're not as universally supported as plex, and the whole thing just has the needs-another-year-or-two-of-polish vibes.

And before the pitchfork crowd shows up, I'm using Jellyfin exclusively, but I also don't have people using it who can't figure out why half the episodes in a tv season pick a different language, or why the subtitles are somtimes english, and sometimes german, or why some videos occasionally don't have proper audio (l and r are swapped) and how to take care of all of those things.

I'd also agree your thought that docker is the right approach to go: you don't need docker swarm, or kubernetes, or whatever other nonsense for your personal plex install, unless you want to learn those technologies.

Install a base debian via netinstall, install docker, install plex, done.

[–] AbidanYre@lemmy.world 1 points 6 hours ago (1 children)

That sounds less like a JF problem and more like a your files are janky problem.

[–] bluGill@fedia.io 1 points 4 hours ago

Unfortunately janky media files seem to be the rule.

[–] entropicdrift@lemmy.sdf.org 1 points 6 hours ago

They're using Plex for friends and JF for themselves, if you read the comment you replied to.

[–] loganb@lemmy.world 3 points 6 hours ago (1 children)

It sounds like your goal is a headless server for running various services on? If that's the case, I'd stick with a well supported, mainstem LTS distro. Rocky Linux (RHEL9) or Ubuntu Server is where I'd start.

Typical software stack for me is Cockpit (bare metal management), Nginx Proxy Manager, and Portainer CE.

If your system has a decent amount of memory, >32GB, ZFS in a raidz2 configuration for storage. Keep in mind that if you go the ZFS route that it's memory hungry by design.

For backup software, I ended up going with Restic but there are plenty of good solutions out there. Just make sure that you have one.

Hopefully this gives you an idea where to start looking. Ultimately it comes down to a lot of research, realizing there are a lot of valid ways to go about this, and then choosing the one that makes the most sense to you.

[–] Siathes@lemmy.dbzer0.com 1 points 4 hours ago

I’m still reading guides but my initial thoughts on OS was Debian, but am reading one using proxmox. Anything I should be aware of with proxmox?

I will read up on cockpit, nginx and the rest. Thank you for the suggestions!

I don’t have that much memory on the beelink, specs are N-100 alder lake 16gb ddr4 500gb m.2

[–] 7U5K3N@lemmy.dbzer0.com 2 points 5 hours ago* (last edited 5 hours ago) (1 children)

Ive ran "the perfect media server 2017" for ages.. I'm doing a version of that now because it fits my use case.. I'm not using snap raid.

The Perfect Media Server 2017 | LinuxServer.io https://www.linuxserver.io/blog/2017-06-24-the-perfect-media-server-2017

I'd also look at trash guides for the arr setups.

My setup is a n100 device for Plex and arrs on Debian 12 with mergerfs. The drives are in a qnap jbod box via thunderbolt / USBC.

[–] Siathes@lemmy.dbzer0.com 2 points 5 hours ago

Great share! Will be reading this momentarily, thank you.

[–] andyburke@fedia.io 2 points 6 hours ago

The N100 is a nice little chip for mini home servers. I run podman containers for all media stuff with no issues. You're gonna have fun.

[–] cygnus@lemmy.ca 1 points 6 hours ago

I use Arch derivatives for all my computers but my media server runs Ubuntu Server because it's low maintenance. For storage I use a USB 2x HDD docking station (one of those where you just stick the HDD upright in it).