I am happy with my simple docker-compose setup - one root folder with one subfolder per project containing the compose file and any configuration mounted into the container. Traefik automatically exposes all services I want under a well-known URL using a single line in each compose file. Watchtower updates the containers.
This has been running stable for over two years with probably 2-3 reboots in between. If my current NUC ever breaks I’ll set it up again using Podman instead of Docker, but aside from that I couldn’t be happier!
I used devices from gl iNet, the devices are good, but I find the UI of opnsense way better (compared to advance ui of openWRT) and updates are directly from opnsense.
I still have them for smaller network tests but for some reason I never got close to it. Probably another reason is that my brother uses opnsense too, if we have any issues we can ask each other for help.
I just got into self-hosting about a week ago and started by getting a small beelink s12 mini. Since you have an old pc you don’t need to worry about hardware for now.
To get going with the software I followed this (lemmy.world/post/6542476) lemmy post in the beginning. It took me a couple of evenings to understand some basic concepts and after getting everything going I found the recommdation for yams.media. So I wiped everything (because I decided to not encrypt the system and to go with Ubuntu 22.04.03 LTS instead of 23.10) and was supprised how quickly I had yams running again.
So just follow the guide and ask here or on the yams discord if you have any questions during the installation.
Check the compatibility with Linux but I also used Ubuntu with very little problem. It works flawlessly for me. I had no experience with Linux before this and was able to set it up with some googling and Asking ChatGPT for some useful commands. It was a fun project. The *arr suite is great.
I had a lot of freezing when I was using immich on my RPi4. May be due to ram constraints. I moved to a 7 8 year old PC that I had lying around. It’s less finicky than a Pi4.
Thanks, HP it will be. When comparing Intel gens, there isn’t a massive difference between 4th and 8th gen, except the openvino detection which only works on 8th. But I can get a 4th gen for 25% of the price of a 8th gen.
I’d also highly recommend the proper PC, Immich can get pretty RAM-hungry if you use the ML functions, for me that has actually caused crashes before. Granted, that was while importing roughly 20k Assets (200GB) from a Google photos takeout, but it’s still probably better to be prepared.
Thanks for the insights. I’m planning to import about 1.2Tb of photos… So RAM is most important? What about Intel gen? I’ve compared 4th and 8th gen in terms of cpu speed and 4th still scores well. Depends of course on exact cpu. 4th gen can be bought here for about a 5th of the price of an 8th…
Also the ability to snapshot an image, goof around with changes, and if you don’t like them restore the snapshot makes it much easier to experiment than trying to unwind all the changes you make.
If you’re only using it for Plex and nothing else, it probably won’t make a lot of difference which you use.
My old setup was Ubuntu running Plex as an install… if you just run a server without a gui, it’s like 3 lines to install Plex
I also have a pi as a portable setup running the docker version which works pretty well but I don’t think it will handle hardware encoding very well, but I could be wrong
Yeah Ubuntu came up in a few searches, I’ll read more about that, Desktop was 25gb which was a bit excessive given the age of the PC, will look at server, ty
Debian is another popular choice for servers (Ubuntu is based on Debian, with a few things bolted on top which are in my opinion not worth it). The default Debian installation only consumes 1-2GB disk space (just deselect any desktop environment during the installation process)
Generally speaking, any device (“server”) hosting a “service” NEEDS to be assigned a static IP. It simplifies routing significantly and avoids random break problems because DHCP is incredibly stupid at times…
Is there any specific reason you need DHCP to assign an IP to your main hosting server vs setting it all statically?
Moving it to it’s own system will not fix the routing problem. You can probably still leave it on the USG.
You should be able to set a fixed static IP on your server, and then also statically assign that same IP to your server in your USG DHCP config- as long as they both are “thinking about” the same IP I think routing should work correctly.
If that breaks, try just assigning the static IP only from the USG side or only from the server’s side. I’m 90% sure that even if the USG does not have your server machine in it’s client list, if it sends broadcast packets to an entered IP looking for the unifi server, and the unifi server is listening on that manually set IP, they should be able to talk.
disclaimer: i am high as shit right now and this may be bullshit
Is there any specific reason you need DHCP to assign an IP to your main hosting server vs setting it all statically?
I’ve done this. I think the real problem is if I ever change the server MAC or IP, as now the unifi server isn’t picked up by the USG, which means I can’t change the static address.
I was really surprised when I learned that they have any locations at all besides Germany. I remember when they were just starting out and I spoke to Mr Hetzner himself about a support issue. Good times.
no messy system or leftovers. some programs use directories all over the place and it gets annoying fast if you host many services. sometimes you will have some issue that requires you to do quite a bit of hunting and redoing things.
docker makes this painless. you can deploy and redeploy stuff easily and quickly, without a mess. updates are painless and quick too, with everything neatly self-contained.
much easier to maintain once you get the hang of things.
Others have addressed the root and trust questions, so I thought I’d mention the “mess” question:
Even the messiest bowl of ravioli is easier to untangle than a bowl of spaghetti.
The mounts/networks/rules and such aren’t “mess”, they are isolation. They’re commoditization. They’re abstraction - Ways to tell whatever is running in the container what it wants to hear, so that you can treat the container as a “black box” that solves the problem you want solved.
Think of Docker containers less like pets and more like cattle, and it very quickly justifies a lot of that stuff because it makes the container disposable, even if the data it’s handling isn’t.
selfhosted
Active
This magazine is from a federated server and may be incomplete. Browse more on the original instance.