Hi! Im new to self hosting. Currently i am running a Jellyfin server on an old laptop. I am very curious to host other things in the future like immich or other services. I see a lot of mention of a program called docker.
search this on The internet I am still Not very clear what it does.
Could someone explain this to me like im stupid? What does it do and why would I need it?
Also what are other services that might be interesting to self host in The future?
Many thanks!
EDIT: Wow! thanks for all the detailed and super quick replies! I’ve been reading all the comments here and am concluding that (even though I am currently running only one service) it might be interesting to start using Docker to run all (future) services seperately on the server!
A program isn’t just a program: in order to work properly, the context in which it runs — system libraries, configuration files, other programs it might need to help it such as databases or web servers, etc. — needs to be correct. Getting that stuff figured out well enough that end users can easily get it working on random different Linux distributions with arbitrary other software installed is hard, so developers eventually resorted to getting it working on their one (virtual) machine and then just (virtually) shipping that whole machine.
Docker is not a virtual machine, it’s a fancy wrapper around chroot
I’m aware of that, but OP requested “explain like I’m stupid” so I omitted that detail.
Beat me to it.
Containerized software. The main advantage of this is that every application, or stack of applications, runs in its own ecosystem. You can restart a container whenever without having to reboot your entire system. You can store all data off a container in a volume, so if you hit a snag, you can recreate the container without actually losing any of your configs.
You can also create networks so that apps run in different subnets than other apps.
Very simply put, a docker container is like a mini system that runs on your main system.
Something else I like about docker is docker compose. You can create a container or stack of containers with a single simple YAML file without actually having to install anything yourself. I manage my containers in Portainer.
EDIT: Wow! thanks for all the detailed and super quick replies! I’ve been reading all the comments here and am concluding that (even though I am currently running only one service) it might be interesting to start using Docker to run all (future) services seperately on the server!
This is pretty much what I’ve started doing. Containers have the wonderful benefit that if you don’t like it, you just delete it. If you install on bare metal (at least in Linux) you can end up with a lot of extra packages getting installed and configured that could affect your system in the future. With containers, all those specific extras are bundled together and removed at the same time without having any effect on your base system, so you’re always at your clean OS install.
I will also add an irritation with docker containers as well, if you create something in a container that isn’t kept in a shared volume, it gets destroyed when starting the container again. The container you use keeps the maintainers setup, for instance I do occasional encoding of videos in a handbrake container, I can’t save any profiles I make within that container because it will get wiped next time I restart the container since it’s part of the container, not on any shared volume.
Pretty good intro for absolute beginners here…
+1 for Techworld with Nana
A little box you can put your app.
If the app does bad, it doesn’t sink your ship. Just throw the box over board and repackage the app.
I’m not sure most people need it, but it could be fun to use a new app inside a container. Also makes updating that needs a restarting without shutting down your other services.
I’ve never posted on Lemmy before. I tried to ask this question of the greater community but I had to pick a community and didn’t know which one. This shows up as lemmy.world but that wasn’t an option.
Anyway, what I wanted to know is why do people self host? What is the advantage/cost. Sorry if I’m hijacking. Maybe someone could just post a link or something.
Anyway, what I wanted to know is why do people self host?
Wow. That’s a whole separate thread on it’s on. I selfhost a lot of my services because I am a staunch privacy advocate, and I really have a problem with corporations using my data to further bolster their profit margins without giving me due compensation. I also self host because I love to tinker and learn. The learning aspect is something I really get in to. At my age it is good to keep the brain active and so I self host, create bonsai, garden, etc. I’ve always been into technology from the early days of thumbing through Pop Sci and Pop Mech magazines, which evolved into thumbing through Byte mags.
If ‘but it works on my computer’ was a software service
Wow! Thank you all for the civilized responses. This all sounds so great. I am older and I feel like I’ve already seen enough ads for one lifetime and I hate all this fascist tracking crap.
But how does that work? Is it just a network on which you store your stuff in a way that you can download it anywhere or can it do more? I mean, to me that’s just a home network. Hosting sounds like it’s designed for other people to access. Can I put my website on there? If so, how do I go about registering my domain each year. I’m not computer illiterate but this sounds kind of beyond my skill level. I’ll go search Jellyfin, weird name, and see what I can find. Thanks again!
Thank you for the thorough response. After looking carefully at what you wrote I didn’t really see a difference between the term self-hosting and home network.
You said you have software that automatically downloads media. The way I see this using movies for instance, if I own the movies and have them on my machine, then I can stream them over my network and have full control. Whereas if I “own” them on Amazon and steam it from there, they can track the viewing experience, push ads, or even remove the content completely. I understand that… But if I want a NEW movie, I’m back to Amazon to get it in the first place (or Netflix, or Walmart, etc. I get it). I’m fact, personally I’ve started actually buying disks of the movies/music I like most so that it can’t really be taken away and I can enjoy it even without an Internet connection. Am I missing something? Unless of course the media you are downloading is pirated.
I know I’m asking what seems to be a huge question but I’m really only asking for a broad description, sort of an ELI5 thing.
deleted by creator