Multi container balena devices.

Hello all. So, I have seen that you can create multiple containers within a particular balena app using docker-compose. However, the docker-compose files examples given appear to define a service and a dependency service. I don’t see why this wouldn’t be the case, but still wanted to ask anyway: Can one create and deploy a docker-compose file that defines two completely unrelated containers that do not depend on each other? Thanks.

Hi William,

You shouldn’t have any issues creating an app with multiple containers without dependencies between them. However, you won’t be able to update them separately. Deploying a new version of the app will update all of your containers together, as a single app.

A great feature would be to enable Balena to manage these multiple containers separately.

For example, if the device is running two services, and one of the services needs to be updated, Balena would allow that service to be updated without affecting the other service.

My understanding of Balena is that all containers running on a device are treated as a whole and updating any one of them interrupts all of them?

It would be great if Balena would be more like Portainer in that containers could be added/removed/updated all in parallel, not affecting the other containers running.

This would also enable better sustainability plans, where each container has a different author/developer, and each can manage their own product running on the devices. It would also save the developer from having to create a new product (combining separate containers) that has its own unrelated release number (something else to create and track).

Hello Matthew,
although you describe the whole bundle of containers/services they do get downloaded and updated independently if only one of them changes. Also if you change a service specific environment variable then only that service should restart.
Combining multiple application (possibly from different authors) is something we’re looking into, but no ETA yet