• moonpiedumplings@programming.dev
    link
    fedilink
    arrow-up
    14
    ·
    edit-2
    1 year ago

    The benefit of docker is portability. You can run software anywhere. Rather than going through all this pain of installing and managing systemd services, you can just run a docker container, often in only one command. Docker also handles things like setting environment variables, which are sometimes used by apps as a an alternative for, or even replacement for settings filed, like in the lemmy docker example: https://github.com/LemmyNet/lemmy/blob/main/docker/docker-compose.yml

    Docker succeeds where java failed, but in a language agnostic way.

    And I disagree with the author’s point about disliking docker-only apps, for two main reasons. One, it isn’t the developers responsibility to package things for every system, and two, docker containers are mostly self documenting, being very close to simply a shell script. I almost always look at dockerfiles, and I have only seen one or two that are not simple to extract to make them run outside docker.

    For example, the lemmy docker image: https://github.com/LemmyNet/lemmy/blob/main/docker/Dockerfile

    The author acts like it’s some advanced witchcraft or something, but it’s just using rust to compile stuff on an debian based system. Every command used to build lemmy is right there. Then, you can look at the environment variables set in the docker compose, and set them in a systemd service or something.

    How do I tag people on lemmy?

    u/tony