# Docker Compose v3 Upgrade

**URL:** <https://forums.balena.io/t/docker-compose-v3-upgrade/373415>\
**Category:** Feature Requests\
**Tags:** balenaos, building\
**Created:** [January 31, 2023, 6:55pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415 "2023-01-31T18:55:37Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/balena/original/2X/6/60e5c11e1222480d38bea45d7ab9ea57bbe86d53.png) [@system](https://forums.balena.io/u/system)\
**Post date:** [January 31, 2023, 6:55pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/1 "2023-01-31T18:55:37Z")

</div>

Some of the features in the latest docker-compose are missed and would help if the BalenaOS could support releases for microservices defined in latest docker-compose version, also with e.g ENV variable substitution in the compose files

---

<div class="post-metadata">

**Author:** ![anonymizeduser](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/anonymizeduser/32/10188_2.png) [@anonymizeduser](https://forums.balena.io/u/anonymizeduser)\
**Post date:** [March 21, 2023, 6:39pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/2 "2023-03-21T18:39:09Z")

</div>

One other important things that is also missing is profiles: being able from the same fleet to have different services enabled base on profiles.

---

<div class="post-metadata">

**Author:** ![anonymizeduser](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/anonymizeduser/32/10188_2.png) [@anonymizeduser](https://forums.balena.io/u/anonymizeduser)\
**Post date:** [April 27, 2023, 11:46am UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/3 "2023-04-27T11:46:05Z")

</div>

Environment variable support would be appreciated!

---

<div class="post-metadata">

**Author:** ![anonymizeduser](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/anonymizeduser/32/10188_2.png) [@anonymizeduser](https://forums.balena.io/u/anonymizeduser)\
**Post date:** [August 28, 2023, 6:24pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/4 "2023-08-28T18:24:24Z")

</div>

The biggest compose v3 feature for me is being able to wait for dependencies to be healthy, making sure something starts first often isn’t sufficient to make sure it is ready before a dependent service.

---

<div class="post-metadata">

**Author:** ![anonymizeduser](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/anonymizeduser/32/10188_2.png) [@anonymizeduser](https://forums.balena.io/u/anonymizeduser)\
**Post date:** [September 1, 2023, 5:21pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/5 "2023-09-01T17:21:50Z")

</div>

+1 for ability to wait for dependencies to be healthy

---

<div class="post-metadata">

**Author:** ![anonymizeduser](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/anonymizeduser/32/10188_2.png) [@anonymizeduser](https://forums.balena.io/u/anonymizeduser)\
**Post date:** [October 31, 2023, 9:09pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/6 "2023-10-31T21:09:09Z")

</div>

Support me

---

<div class="post-metadata">

**Author:** ![anonymizeduser](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/anonymizeduser/32/10188_2.png) [@anonymizeduser](https://forums.balena.io/u/anonymizeduser)\
**Post date:** [November 8, 2023, 12:40pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/7 "2023-11-08T12:40:41Z")

</div>

The resource allocation (CPU and Memory) support, such as `cpus` would be a great addition, compared to the supported version.

---

<div class="post-metadata">

**Author:** ![anonymizeduser](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/anonymizeduser/32/10188_2.png) [@anonymizeduser](https://forums.balena.io/u/anonymizeduser)\
**Post date:** [December 13, 2023, 6:20pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/8 "2023-12-13T18:20:47Z")

</div>

Also adding “profile” ability in docker compose would be immensely helpful

---

<div class="post-metadata">

**Author:** ![anonymizeduser](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/anonymizeduser/32/10188_2.png) [@anonymizeduser](https://forums.balena.io/u/anonymizeduser)\
**Post date:** [April 24, 2024, 6:27pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/9 "2024-04-24T18:27:08Z")

</div>

+1 for ability to wait for dependencies to be healthy too

---

<div class="post-metadata">

**Author:** ![anonymizeduser](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/anonymizeduser/32/10188_2.png) [@anonymizeduser](https://forums.balena.io/u/anonymizeduser)\
**Post date:** [May 27, 2024, 1:43pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/10 "2024-05-27T13:43:50Z")

</div>

+1 again for having the ability to put explicit dependencies in. Double so since this is something you can get quite easily from systemd.

---

<div class="post-metadata">

**Author:** ![anonymizeduser](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/anonymizeduser/32/10188_2.png) [@anonymizeduser](https://forums.balena.io/u/anonymizeduser)\
**Post date:** [June 22, 2024, 8:57am UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/11 "2024-06-22T08:57:52Z")

</div>

+1 for requiring incloud, which is provided in docker compose v3.

---

<div class="post-metadata">

**Author:** ![anonymizeduser](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/anonymizeduser/32/10188_2.png) [@anonymizeduser](https://forums.balena.io/u/anonymizeduser)\
**Post date:** [July 23, 2024, 12:17pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/12 "2024-07-23T12:17:37Z")

</div>

+1 for variable substitution in compose files

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/balena/original/2X/6/60e5c11e1222480d38bea45d7ab9ea57bbe86d53.png) [@system](https://forums.balena.io/u/system)\
**Post date:** [September 17, 2024, 10:01am UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/13 "2024-09-17T10:01:14Z")

</div>

Thanks everyone for the comments! We have been discussing this internally and have written a specification for what we’d like the solution to look like. It’s now in the queue for resourcing and we’ll keep you updated.

---

<div class="post-metadata">

**Author:** ![anonymizeduser](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/anonymizeduser/32/10188_2.png) [@anonymizeduser](https://forums.balena.io/u/anonymizeduser)\
**Post date:** [September 26, 2024, 12:59pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/14 "2024-09-26T12:59:10Z")

</div>

+1 for the ability to handle multiple docker-compose files, e.g. include and extend.

---

<div class="post-metadata">

**Author:** ![Misiu](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/misiu/32/10311_2.png) [@Misiu](https://forums.balena.io/u/Misiu)\
**Post date:** [April 16, 2025, 12:25pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/16 "2025-04-16T12:25:16Z")

</div>

> [@anonymizeduser](#):
>
> +1 for ability to wait for dependencies to be healthy too

You have my vote on that.  
Right now, the dependencies order is only taken into consideration when doing a reboot, but not when doing an update. This should also change, but I think that’s a different FR.

---

<div class="post-metadata">

**Author:** ![bbittner](https://avatars.discourse-cdn.com/v4/letter/b/bb73d2/32.png) [@bbittner](https://forums.balena.io/u/bbittner)\
**Post date:** [June 11, 2025, 5:11pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/17 "2025-06-11T17:11:01Z")

</div>

+1 for variable substitution in compose files  
are there any news about the progress of this FR?

---

<div class="post-metadata">

**Author:** ![cywang117](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/cywang117/32/6307_2.png) [@cywang117](https://forums.balena.io/u/cywang117)\
**Post date:** [June 17, 2025, 5:15pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/18 "2025-06-17T17:15:08Z")

</div>

Hi all,

We are actively working on incorporating [compose specification features](https://docs.docker.com/reference/compose-file/) into our platform. However, do note that we cannot achieve 100% feature parity, due to the differing needs and structure of balena compared to docker-compose.

To respond to @bbittner 's question about variable substitution, I’m looking at build-time variable interpolation, which is a much easier task than runtime variable interpolation. We do not have an estimate on either, but expect the former sooner than the latter. I’ll update in this thread as new features are added – and do expect them to be added one-by-one, as we would have one or two engineers working on this due to resourcing constraints.

Happy to accept contributions to our open source repositories ([Supervisor](https://github.com/balena-os/balena-supervisor), [CLI](https://github.com/balena-io/balena-cli), [open-balena-api](https://github.com/balena-io/open-balena-api)) if you’re looking to get a feature quicker!

---

<div class="post-metadata">

**Author:** ![bbittner](https://avatars.discourse-cdn.com/v4/letter/b/bb73d2/32.png) [@bbittner](https://forums.balena.io/u/bbittner)\
**Post date:** [June 23, 2025, 3:49pm UTC](https://forums.balena.io/t/docker-compose-v3-upgrade/373415/19 "2025-06-23T15:49:06Z")

</div>

Thanks for your feedback!
