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!

  • jagged_circle@feddit.nl
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    11 hours ago

    Package managers like apt use cryptography to check signatures in everything they download to make sure they aren’t malicious.

    Docker doesn’t do this. They have a system called DCT but its horribly broken (not to mention off by default).

    So when you run docker pull, you can’t trust anything it downloads.

    • Darioirad@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      20 hours ago

      Thank you very much! For the off by default part i can agree, but why it’s horribly broken?

      • jagged_circle@feddit.nl
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        11 hours ago

        PKI.

        Apt and most release signing has a root of trust shipped with the OS and the PGP keys are cross signed on keyservers (web of trust).

        DCT is just TOFU. They disable it because it gives a false sense of security. Docker is just not safe. Maybe on 10 years they’ll fix it, but honestly it seems like they just dont care. The well is poisoned. Avoid. Use apt or some package manager that actually cares about security

        • Darioirad@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 hours ago

          So, if I understand correctly: rather than using prebuilt images from Docker Hub or untrusted sources, the recommended approach is to start from a minimal base image of a known OS (like Debian or Ubuntu), and explicitly install required packages via apt within the Dockerfile to ensure provenance and security. Does that make sense?

          • jagged_circle@feddit.nl
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            5 hours ago

            Install the package with apt. Avoid docker completely.

            If the docker image maintainer has a github, open a ticket asking them to publish a Debian package