2026-01-11 12:19 PM - last edited on 2026-01-12 3:21 AM by Andrew Neil
Hi,
there has been some interest in using STM32CubeMX code generation and also the Cube build tools (CMake, GCC, Ninja) in a headless mode, particularly for CI and typically via a Docker image, e.g. 1, 2, 3, 4. There are several benefits of being able to build STM32 projects automatically via CI, including specifically the code generation by STM32CubeMX, and to achieve this by using a Docker image:
Unfortunately, building a Docker image for running STM32CubeMX is not very straightforward. The application has various dependencies, requires a (virtual) X server, by default lengthily downloads updates and has a complicated CLI that requires writing command scripts. The firmware packages need to be installed individually, require a lot of disk space, and the patch-versions of the offline zip packages in addition need the correct release version installed. Manually building such a docker image for every STM32CubeMX/firmware package update is very time-consuming.
Building a Docker image for the build tools (compiler etc.) however is comparatively simple. For VS Code-based projects, it's desirable to use the cube-wrapper (part of the STM32Cube for VS Code extension) to install & call the build-tools automatically; this ensures the Docker image uses the exact same versions of those tools as a regular installation of STM32Cube for VS Code does.
Therefore I've spent quite some work on automatically building two Docker images for STM32CubeMX and the build tools, respectively. I've managed to automate the process such that itself can run in a CI environment and automatically uses the most recent versions of the various software packages - allowing me to keep the images up-to-date with minimal effort.
I would like to share these Docker images with the community, probably through the GitHub Container Registry. This would allow anyone to easily build their STM32 applications in a CI setup, particularly also managed cloud-based CI services such as GitHub Actions or the GitLab.com-hosted CI, by a few simple commands in the respective CI configuration file.
To my understanding, the licenses of the software packages by ST contained in those Docker images (STM32CubeMX main application, STM32Cube_FW_xx Firmware packages, cube-wrapper) allow redistribution in binary form, except for the "STM32_Audio", "Sigfox" and "ThreadX" sub-packages. I excluded these last three packages from my Docker image.
I would like to ask if there would be any objections by ST to me publishing these Docker images containing ST software. Of course I'd reproduce ST's copyright/license notice in the docker image description, but since the images are meant to run unattended I obviously can't display an interactive SLA form. For transparency, I'd also publish the Dockerfiles that necessarily list, download & install these software packages by ST in an unattended way avoiding repeated license confirmation dialogs.
Thanks for reading and the community support!
2026-01-11 11:08 PM
Hello @Erlkoenig
I'm currently checking your request. I will get back to you asap.
THX
Ghofrane
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2026-01-12 1:35 AM
Hello @Erlkoenig
Your request has been escalated to our development team under the internal ticket ID 224939.
I will keep you informed of any updates.
THX
Ghofrane
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2026-01-12 3:15 AM
Hi Ghofrane,
thank you very much, I'll be waiting for your feedback before publishing the software.
Best regards,
Niklas Gürtler