• 0 Posts
  • 20 Comments
Joined 1 year ago
cake
Cake day: June 21st, 2023

help-circle





  • there is plenty open source software, that you can buy. There are many modes:

    • you buy the support (redhead)
    • you buy the long-term-support (ubuntu)
    • you pay for backports to old releases (keycloak iirc)
    • there is a open source version, and you can pay for enterprise features and hosting (gitlab)
    • there is an open source version, and you pay for customization (star office, iirc)

    and my personal favorit:

    • you pay a random developer to submit pullrequests for bugs that are relevant to you














  • I recommend to use relevativ paths in the compose files. e.g.

      - '/home/${USER}/server/configs/heimdall:/config'
    

    becomes

      - './configs/heimdall:/config'
    

    you may want to add “:ro” to configs while you are at it.


    also I like to put my service in /srv/ instead of home.


    also I don’t see anything about https/ssl. I recommend adding a section for letsencrypt.


    when services rely on each other, it’s a good idea to put them into the same compose file. (on 2nd thought: I am not sure if you already do that? To me it is not clear, if you use 1 big compose file for everything or many small ones. I would prefer to have 1 big one)

    you can use “depends_on” to link services together.


    you should be consistent with conventions between configurations. And you should remove config-properties that serve no purpose.:

    • you don’t need to specifiy “container_name”, when it would be same name as the service
    • PUID=1000 and PGID=1000 shouldn’t be needed, I think.
    • sometimes you add explicit “:latest” to the version, and sometimes you don’t

    while you are at it, you may want to consider using an .env file where you could move everything that would differ between different deployment. e.g.

    • PUID
    • TZ
    • exposed ports, maybe

    consider using podman instead of docker. The configuration is pretty much identical to docker-syntax. The main difference is, that it doesn’t require a deamon with root privileges.


    you may want to consider to pin version for the containers.

    pro version pinning:

    • no unexpected changes, when you restart the container (e.g. because you accidentally pulled)

    con version pinning:

    • when you DO want to make an update, you have to spent 2 minutes to go to docker hub to find out which version you want.