this post was submitted on 27 Oct 2023
10 points (100.0% liked)
Self-hosting
2777 readers
2 users here now
Hosting your own services. Preferably at home and on low-power or shared hardware.
Also check out:
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
If you want to use L2 to host different services, I’d HIGHLY recommend looking into Docker. With docker you can containerize the different applications/services you host on L2, which keeps them isolated from each other and the L2 base system.
So, with Docker, you could set up L2 with a Jellyfin container to be your media server for music and videos, you could set up another container to host your website when you’re ready for that, and much more depending on your wants/needs.
I’ve got an old pc I set up with Ubuntu server (20.04), and am currently running 20-30 containers with different apps and services. It’s great.
this video is a great tutorial to get a docker setup up and running and this guy’s channel is full of great step-by-step tutorials for setting up different apps and services with Docker. He’s great because he is really thorough and explains everything really well.
I've watched several videos on the topic and nobody has so far managed to explain to me why I want to use Docker. Okay, to keep them isolated, but why do I want this? I'm just a noob and the depths of server administration are beyond me. At this point from what I understand it just seems to install another layer of something on top of something?
@schmorpel It's about defense in depth. If you are running an application inside of a docker container, it's much more difficult for it to interact with or compromise other applications running in other containers or on the host system. So if I'm running a bookwyrm instance and a mastodon instance in separate containers, and there's a security flaw in bookwyrm that someone exploits, that doesn't mean they automatically get access to the mastodon stuff too.
@schmorpel additionally, using containers allows for wrapping of dependencies. If I have one application that uses python 2.7 and another that uses python 3, installing both versions on the host system could cause conflicts. But containers have separated file systems, so they can each have their own dependencies without conflict. Mastodon runs a web service to serve http content, a database, various workers etc that can all run together on an separate network stack from other containers.