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!

  • y0kai@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    7 hours ago

    You’re asking a lot of questions at one time and will be better served understanding you’re knocking at the door of a very deep rabbit hole.

    That said, I’ll try to give you the basic idea here and anyone who can correct me, please do so! I doubt I’ll get everything correct and will probably forget some stuff lol.

    So, self hosting really just means running the services you use on your own machine. There’s some debate about whether hosting on a cloud server - where someone else owns and has physical access to the machine - counts as self hosting. For the sake of education, and because I’m not a fan of gatekeeping, I say it does count.

    Anyway, when you’re running a server (a machine, real or virtualized, that is running a program connected to a network that can - usually - be accessed by other machines connected to that network), who and what you share with other machines on your network or other networks, is ultimately up to you.

    When using a “hosted” service, which is where another entity manages the server (not just the hardware, but the software and administration too, and is therefore the opposite of self hosting. Think Netflix, as opposed to Jellyfin), your data and everything you do on or with that service on that network belongs to the service provider and network owners. Your “saved” info is stored on their disks in their data center. There are of course exceptions and companies who will offer better infrastructure and privacy options but that’s the gist of non-self-hosted services.

    To your specific questions:

    But how does that work?

    Hopefully the above helps, but this question is pretty open ended lol. Your next few questions are more pointed, so I’ll try to answer them better.

    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?

    Well, kind of. If you’re hosting on a physical machine that you own, your services will be accessible to any other machine on your home network (unless you segment your network, which is another conversation for another time) and should not, by default, be accessible from the internet. You will need to be at home, on your own network to access anything you host, by default.

    As for storage of your data, self hosted services almost always default to local storage. This means, you can save anything you’re doing on the hard-drive of the machine the server is running on. Alternatively if you have a network drive, you can store it on another machine on your network. Some services will allow you to connect to cloud storage (on someone else’s machine somewhere else). The beauty is that you decide where your data lives.

    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?

    Like almost anything with computers and networking, the defaults are changeable. You can certainly host a service on the internet for others to access. This usually involves purchasing the rights to a domain name, setting that domain up to link to your private IP address, and forwarding a port on your router so people can connect to your machine. This can be extremely dangerous if you don’t know what you’re doing an isn’t recommended without learning a lot more about network and cyber security.

    That said, there are safer ways to connect from afar. Personally, I use a software called Wireguard. This software allows devices I approve (like my phone, or my girlfirend’s laptop) to connect to my network when away from home though what is called an “encrypted tunnel” or a "Virtual Private Network (VPN) ". These can be a pain to set up for the first time if you’re new to the tech and there are easier solutions I’ve heard of but haven’t tried, namely Tailscale, and Netbird, both of which use Wireguard but try to make the administration easier.

    You can also look into reverse proxies, and services like cloudflare for accessing things away from home. These involve internet hostng, and security should be considered, like above. Anything that allows remote access will come with unique pros and cons that you’ll need to weigh and sort for yourself.

    If so, how do I go about registering my domain each year.

    Personally, I use Porkbun.com for cheap domains, but there are tons of different providers. You’ll just have to shop around. To actually use the domain, I’m gonna be linking some resources lower in the post. If I remember correctly, landchad.net was a good resource for learning about configuring a domain but idk. There will be a few links below.

    I’m not computer illiterate but this sounds kind of beyond my skill level.

    It was beyond my skill level when I started too. It’s been nearly a year now and I have a service that automatically downloads media I want, such as movies, shows, music, and books. It stores them locally on a stack of hard drives, I can access them outside of my house with wireguard as well. Further, I’ve got some smaller services, like a recipe book I share with my girlfriend and soon with friends and family. I’ve also started hosting my own AI, a network wide ad-blocker, a replacement for Google photos, a filesharing server, and some other things that are escaping me right now.

    The point is that it’s only a steep hill while you’re at the bottom looking up. Personally, the hike has been more rejuvenating than tiresome, though I admit it takes patience, a bit of effort, and a willingness to learn, try new things, and fail sometimes.

    Never sweat the time it takes to accomplish a task. The time will pass either way and at the end of it you can either have accomplished something, or you’ll look back and say, “damn I could’ve been done by now.”

    I’ll go search Jellyfin, weird name, and see what I can find. Thanks again!

    Also check these out, if you’re diving in:

    YouTube:

    Guides:

    Tools:

    Hopefully this helps someone. Good luck!