Hi,

I’m using docker-compose to host all my server services (jellyfin, qbittorrent, sonarr, etc.). I’ve recently grouped some of them into individual categories and then merged the individual docker-compose.yml file I had for each service into one per category. But is there actually any reason for not keeping them together?

The reason why is I’ve started configuring homepage and thought to myself “wouldn’t it be cool if instead of giving the server IP each time (per configured service in homepage) I’d just use the service name?” (AFAIK this only works if the containers are all in the same file).

  • Midas@ymmel.nl
    link
    fedilink
    English
    arrow-up
    8
    ·
    1 year ago

    I would not. Create an external network and just add those to the compose files.

      • i_am_not_a_robot
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Back when I used to use Docker this is what I was doing. If you use a reverse proxy that is Docker-aware (eg Traefik), it can still connect to the services by name and expose them out as subdomains or subpaths based on the names.

        But I graduated to Kubernetes a long time ago.

      • Midas@ymmel.nl
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        So there’s a million ways to do things and what works for you works for you. For me, putting all services ina single compose file only has downsides.

        • Difficult to search, I guess searching for a name and then just editing the file works - but doesn’t it become a mess fairly quickly? I sometimes struggle with just a regular yaml file lmao
        • ^also missing an overview of what you’re exactly running - docker ps -a or ctop or whatever works - but with an ls -la I clearly see whats on my system
        • How do you update containers? I use a ‘docker compose pull’ to update the images which are tagged with latest.
        • I use volume mounts for config and data. A config dir inside the container is mounted like ‘./config:/app/data/config’ - works pretty neatly if each compose file is in its own named directory
        • Turning services on/off is just going into the directory and saying docker compose up -d / or down - in a huge compose file don’t you have to comment the service out or something?