← Back to context

Comment by asciimov

4 days ago

Isolation from the main system, other services, and other dependencies.

Easy to migrate to new system.

Easy to upgrade and downgrade. When a new version causes an issue just restart it with an older version.

One directory to backup and restore that contains all the services and their settings.

A single binary accomplishes most of those things just fine. Only thing it doesn't get you is isolation, but you can isolate things if you want even then (for example, FreeBSD jails are dead easy to set up).

  • I use traefik so with docker compose/labels it's real easy to give things a reverse proxy with an auth gate and other middleware

    There's lots of solutions, I also find compose hits the sweet spot for integration into my homelab

  • ok, so you're just using a container with a different name? You can put the single binary in a container and call it a jail if it makes you feel better.

    • Well yes, but that's the point entirely - you can easily put a binary into a docker container, or a jail, or on a VM. But when something is shipped as 5 different docker containers it is MUCH harder to extract it into something you can run without docker or in a different configuration (like sharing a postgres instance between multiple applications).

      One distribution method is flexible and can be deployed however you want, the other prescribes solutions and makes any customization difficult.

      4 replies →