Mendix in Docker, One Command🐳
How one npm command (and a lot of stubborn debugging) turned my terminal into a headless Mendix studio
Mendix in Docker, One Command🐳
How one npm command (and a lot of stubborn debugging) turned my terminal into a headless Mendix studio

npx mx-studio-automate
The itch 🤔
If you’ve used Mendix, you know Studio Pro — the big, friendly visual editor where you click your way to an app. It’s great. But it’s also a window you have to open, a GUI you have to drive by hand.
I had a different idea:
What if my AI assistant could build, check, and run a Mendix app entirely from the command line — and I never had to open Studio Pro at all?
Spoiler: it can. And the journey to get there was equal parts “wow, this actually works” and “why is this build hanging for 39 minutes?” 😅
Grab a coffee. This one’s a ride.
First, a myth to bust 🧨
When people hear “Mendix without Studio Pro,” they assume I’m faking or emulating Mendix. Nope.
Studio Pro is really just a dashboard wrapped around real engines:
- 🖱️ Click in the domain model / pages → the model engine that reads & writes the
.mpr - 🔴 See red error markers → mxbuild /
mx check - ▶️ Hit Run Locally → builds the app + spins up a runtime + a database
My setup just drives those same engines from the terminal — the real mxbuild.exe, the real Mendix runtime. Two steering wheels, one engine.
🚗 Pull quote: “It’s not a simulator. It’s the same Mendix machinery — just headless.”
The cast of characters 🎭
To go GUI-free, my AI agent needs four tools working together:
- 🛠️ mxcli — edits the Mendix model from the command line
- 🔎 mxbuild — the error checker (same one Studio Pro uses)
- 🐳 Docker — runs the app + a Postgres database in containers
- 🔬 Chrome DevTools — lets the agent verify the running UI
The problem? Setting all of that up by hand, on a fresh machine, is a chore. So I packaged it.
Enter: mx-studio-automate ✨

One command checks (and fixes) your whole environment.
One command:
npx mx-studio-automate
It scans your machine, auto-installs the safe stuff, and gives you copy-paste instructions for the heavy stuff (like Docker, which needs admin rights). It even wires up the AI agent’s config so it’s ready immediately.
mx-studio-automate v0.3.0
✔ mxcli found v1.4.0
✔ mxbuild found 11.10.0
✔ JDK 21 found 21.0.11
✔ Docker found 29.3.1
✔ Chrome DevTools found
✔ AI agent config found
🎉 All set!
Safe to re-run any time — it only ever fills the gaps.
❓ Reader check: How long does setting up a new dev environment usually take you — minutes, or a “clear your afternoon” kind of thing? 👇
The headline trick: build & run, no Studio Pro 🚀
npx mx-studio-automate --run
Behind the scenes it does the whole Mendix deployment dance:
- Generates a Docker stack (app + Postgres)
- Builds the app package with mxbuild
- Boots it all in Docker
- Hands you a live URL

A real Mendix app, running in Docker, launched from one terminal command.
And because builds can be slow and silent, I added a live loader so you always know it’s alive (and won’t rage-quit mid-build):
⠹ Building app package… 1m 12s — please don't close this window
Then, for the edit→see loop, there’s --reload — a hot reload that pushes your changes into the already-running app in seconds, no cold restart:
npx mx-studio-automate --reload # rebuild + reload
npx mx-studio-automate --reload --css # styling only, instant
💡 Tip box: After the first
--run, you never cold-start again. Edit →--reload→ refresh browser. That's the whole loop.
A little terminal eye-candy 🎨
Because if you’re going to stare at a CLI all day, it might as well be pretty. The intro draws itself in — mx as a faint outline, studio in crisp white, automate in Mendix blue:
_ __ ___ __ __
| '_ ` _ \ \/ /
| | | | | |> <
|_| |_| |_/_/\_\
_ _ _
___| |_ _ _ __| (_) ___
/ __| __| | | |/ _` | |/ _ \
\__ \ |_| |_| | (_| | | (_) |
|___/\__|\__,_|\__,_|_|\___/
_ _
__ _ _ _| |_ ___ _ __ ___ __ _| |_ ___
/ _` | | | | __/ _ \| '_ ` _ \ / _` | __/ _ \
| (_| | |_| | || (_) | | | | | | (_| | || __/
\__,_|\__,_|\__\___/|_| |_| |_|\__,_|\__\___|
🎬 GIF — Record the intro animation (mx → studio → automate revealing top-to-bottom) and drop a short looping GIF here. Tools: ScreenToGif (Windows) / Kap (macOS). Caption: “Yes, I spent an embarrassing amount of time on a terminal banner. Worth it.”
So… should you use it? 🧭
If you’re a Mendix developer who:
- 💻 lives in the terminal,
- 🤖 wants an AI agent to drive your project,
- 🐳 likes running apps in Docker, and
- 🙅 would rather not open a heavy IDE just to check for errors —
…then give it a spin:
npx mx-studio-automate
It’s open source, MIT-licensed, and on npm. ⭐
What I learned 📚
- The “magic” of low-code tools is just real tooling with a nice UI — and you can absolutely reach the tooling directly.
- A good CLI is honest: do the safe magic, but tell the user clearly when they need to act.
- Half of shipping a dev tool is debugging other people’s environments — spaces in paths, stale cookies, version twins, hidden prompts.
- And a little terminal polish goes a long way. 💙
👋 Your turn
Have you ever ditched a GUI for the command line and never looked back? Or is there a tool you wish had a headless mode? Drop it in the responses — I read every one.
If this was useful, a few 👏 claps help more people find it. Thanks for reading!
메타데이터
- post_id
- 781154324dc6
- slug
- mendix-in-docker-one-command-781154324dc6
- url
- https://medium.com/@vishnuprasath011/mendix-in-docker-one-command-781154324dc6
- canonical_url
- https://medium.com/@vishnuprasath011/mendix-in-docker-one-command-781154324dc6
- author_url
- https://medium.com/@vishnuprasath011
- status
- ok
- fetched_at
- 2026-07-12 00:07:18