all the containers change IP addresses frequently. For home assistant a static IP address of the proxy manager is mandatory in order to reach it. For jellyfin it is useful to see which device accesses jellyfin. If the IP always changes, it doesn’t work properly.

How do I fix a container IP with podman compose (or docker)

    • chiisana@lemmy.chiisana.net
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      8 months ago

      This feels like an anti-pattern that should be avoided. Docker compose allows for scaling individual services to have more than one instance. By hard assigning an IP address to a service, how is that going to be scaled in the future?

      I don’t know how to reconcile this issue directly for NPM, but the way to do this with Traefik is to use container labels (not hard assigning IP address) such that Traefik can discover the service and wire itself up automatically. I’d imagine there should be a similar way to perform service discovery in NPM?

      • aksdb@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        8 months ago

        The bigger issue (IMO) is, that you now have a hard requirement on the startup order of your services. If another one happens to get the IP assigned automatically befor your service starts that requests it explicitly, you now have a conflict that you manually have to resolve.

        DNS is the only sane solution here.

      • Justin@lemmy.jlh.name
        link
        fedilink
        English
        arrow-up
        3
        ·
        8 months ago

        docker compose isn’t really scalable. If you need automatic, hgih availability load balancing, you should look into Kubernetes Ingress.

        • chiisana@lemmy.chiisana.net
          link
          fedilink
          English
          arrow-up
          2
          ·
          8 months ago

          It’s not as a fully scalable solution, no. Without swarm, last I checked, it cannot even really run on multiple instances. However, it does have the functionality to scale individual services within the same host if resources are available and the service can benefit from such a scaling. It is not very uncommon to see something require multiple worker instances and this breaks that paradigm.

          Service discovery will certainly play a much larger role in even more orchestrated systems, but doesn’t mean it shouldn’t start here.