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!

  • Scrollone@feddit.it
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 month ago

    Isn’t all of this a complete waste of computer resources?

    I’ve never used Docker but I want to set up a Immich server, and Docker is the only official way to install it. And I’m a bit afraid.

    Edit: thanks for downvoting an honest question. Wtf.

    • couch1potato@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      I’ve had immich running in a VM as a snap distribution for almost a year now and the experience has been leaps and bounds easier than maintaining my own immich docker container. There have been so many breaking changes over the few years I’ve used it that it was just a headache. This snap version has been 100% hands off “it just works”.

      https://snapcraft.io/immich-distribution

      • AtariDump@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 months ago

        Interesting idea (snap over docker).

        I wonder, does using snap still give you the benefit of not having to maintain specific versions of 3rd party software?

        • Colloidal@programming.dev
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 months ago

          Snap is like Flatpak. So it will store and maintain as many versions of dependencies as your applications need. So it gives you that benefit by automating the work for you. The multiple versions still exist if your apps depend in different versions.