Hey guys, I’m new to self-hosting; I’m trying to set up cloud storage to store pics and other content. However, I’m unsure whether to use my old computer, Buy NAS or ResberryPie to set up a home server.

Also, what is the best privacy-friendly OS to use with the home server?

Lastly, do’s and don’ts.

Any help would be appreciated (:

  • @[email protected]
    link
    fedilink
    English
    3410 months ago

    Use docker compose . Like “everyone” uses it. If the service doesn’t have a compose file, request it, or write it yourself as son as you are knowledgable enough.

    Use podman as soon as people and services switch to it (you’ll know when the latest tutorials talk about podman instead of docker).

    Use ngingx proxy manager or another easy to use reverse proxy.

    Don’t think it’s production ready after it was working 2 days. It may be, but it’s unlikely you have enough knowledge how to fix things.

    Automatic updates.

    Don’t install crap on the system.

      • Kaldo
        link
        fedilink
        310 months ago

        What’s the benefit of kubernetes over docker for a home server setup?

          • Kaldo
            link
            fedilink
            110 months ago

            having everything laid out in a few yaml files that I can tear down and rebuild on a whim

            Oh absolutely, but for me docker compose already does that. Kubernetes might be a good learning exercise but I don’t think I need load balancing for 1 user, me, on the home network 😅

        • @[email protected]
          link
          fedilink
          English
          310 months ago

          Some additional benefits also are the management of secrets. In compose you will shove them inside a .ENV file if not directly inside the compose file, while in Kubernetes you can use the secrets resource or even plug in Vault relatively easily. Stateful storage is also better handled. Named volumes are nasty to keep track of, backup and it’s not possible to spread them across multiple devices (as in disks) while bind mounts are insecure in general. Kubernetes provides a storage abstraction which is easier to manage.

          Obviously the big advantage comes when you want to run stuff on multiple devices to spread the load (or because the one box is saturated), since with compose you would need completely custom and independent setups.

          Finally, I would say that running compose makes it much harder to have a monitoring stack supporting your services, since you will need to do all the plumbing for metrics endpoints yourself. And - very last - you can have admission controllers in Kubernetes that prevent certain configuration (e.g. Kyverno with a bunch of default policies), while with compose you need to manually vet every compose file and image (for example, to ensure it doesn’t run as root).

          That said, compose is perfect to get started and to run stuff on one machine.