APEX #6 — Open Apexpress: the whole series in a few clicks
25 October 2026 · 6 min
#distech-controls,#eclypse-apex,#docker,#open-apexpress,#outil,#serie-apex
ECLYPSE APEX series — episode 6/6 · Previous: #5 ChirpStack
Let’s take stock of the series. We learned to talk to the OPA, to hunt down ARM64 images, to write configs with endless sh -c chains, to read logs without SSH, and to start six containers in the right order to run ChirpStack. It was instructive. It was also, let’s admit it, a bit long.
And at the end of episode 5, I made you a promise: when it’s always the same, we automate.

So here is Open Apexpress: your containers on ECLYPSE APEX, express. A single file to run, you tick the services, it installs everything on the controller.
The principle
Open Apexpress is a small Windows executable, no installation, that you can hand to a colleague on a USB stick. You double-click, a console opens (leave it open), and the interface appears in your browser.
And above all, it only goes through the APEX’s official REST API v2. No backdoor, no SSH, nothing but what Distech provides. It does exactly what we did by hand for five episodes, minus the typos.
Four screens, and it’s installed
- Connection: APEX IP, username, password.
- Services: you tick what you want, or pick a pack.
- Settings: the defaults are good, passwords are generated, and every container is checked against the OPA rules before being sent.
- Installation: image download, creation and startup in the right order, with live tracking. At the end: the links, the credentials, and a full report in Markdown.
The packs simply follow the series:
| Pack | Contents | Episodes |
|---|---|---|
| Zigbee | Mosquitto, Zigbee2MQTT, Node-RED | #3 and #4 |
| LoRaWAN | Mosquitto, ChirpStack (the whole crew), Node-RED | #5 |
| Trends | Mosquitto, Telegraf, InfluxDB, Grafana | the bonus you never got |
| Maintenance | Cloudflare Tunnel, Uptime Kuma, ntfy | remote access and alerts |
No APEX at hand? There’s a “Try without APEX (demo mode)” button: a simulated APEX is built in, so you can try everything from your desk.
Everything the series taught you, hard-coded in the tool
Every lesson from the series has become an Open Apexpress rule:
- The OPA (episode 2): ports in 50000-50500 and present in
ExposedPorts, volumes inMountsand never inBinds,"CpusetCpus": "0", lowercase names, no privileged container. Everything is checked before anything is sent. - ARM64 and fixed tags: all catalog images are verified on ARM64, with a pinned version, editable in the advanced options.
- Config written only once (episode 3): the Zigbee network key is never overwritten on restart.
- ChirpStack without a custom image (episode 5): the init container, the empty lines in the TOML files, the region prefix,
pg_trgmand the startup order. Everything that cost me evenings now fits in a checkbox. - Passwords: generated, and propagated wherever needed. Enable authentication on Mosquitto, and Zigbee2MQTT, ChirpStack and Telegraf pick it up on their own.
The trends bonus, for real
Remember episode 1, which promised Telegraf, InfluxDB and Grafana? It never got its own episode, and that’s on purpose: by hand, it’s a big fat JSON for Telegraf, a token to copy in three places and a data source to create in Grafana. With the Trends pack, Telegraf listens to the Zigbee and LoRaWAN topics, InfluxDB stores with an adjustable retention, and Grafana starts with its InfluxDB data source already created.
A word on RAM though, since this is the hungriest pack. Open Apexpress displays an estimate as you tick boxes: expect around 500 MB for the Trends pack, out of the 1.8 GB the APEX shares with its control logic. Keep a short retention and only collect what’s useful. And if things get tight, this trio is the first candidate to move to a server next door.
What’s in the catalog
Seventeen services, all verified ARM64 images with pinned versions. Those marked to test have a verified image but have not yet been validated on a real APEX with Open Apexpress. The others have.
| Family | Services |
|---|---|
| 🔌 Message bus | Mosquitto, MQTT Web (to test) |
| 📡 Wireless sensors | Zigbee2MQTT, ChirpStack |
| 🧠 Link with the BMS | Node-RED, MCP ECLYPSE (to test) |
| 📈 History and trends | InfluxDB, Telegraf, Grafana |
| 🔐 Remote access | Cloudflare Tunnel, Tailscale, Nginx Proxy Manager (to test) |
| 🚨 Monitoring and alerts | Uptime Kuma (to test), Netdata (to test), ntfy (to test) |
| 🛠️ Troubleshooting and comfort | FileBrowser, Portail APEX |
Field tools
Installing is good. Living with it is better. Open Apexpress can also:
- manage containers and volumes: start, stop, delete. To delete a volume, you have to retype its name: we’ve talked enough about
z2m-data; - back up and restore a volume, without SSH: an ephemeral container archives it as
.tar.gz, downloaded to the PC. It also works for copying a config from one APEX to another; - update: it compares each image with Docker Hub, downloads the new one before touching the service, then recreates the container with the same config and the same volumes. A new major version is only flagged;
- test an ARM64 image before you commit;
- deploy a custom container: you paste your JSON, and it is checked live against the OPA rules;
- log everything: every request sent to the APEX, passwords masked, ready to copy for a diagnosis.
For remote access, Cloudflare Tunnel and Tailscale are in the catalog: your Grafana from the office, without opening a port on the site’s router, even behind a 4G modem.
Security: the tool talks to your controller, so let’s be careful
- The interface only listens on your PC (127.0.0.1) and requires a token generated at each launch: no other machine, no website can drive the APEX through the tool.
- APEX credentials stay in memory, are never written to disk and are only sent to the APEX.
- Generated passwords only appear on the final screen and in the report. Keep that report somewhere safe.
And what’s next: Claude in the controller
In the catalog, there’s a line that stands a bit apart: MCP ECLYPSE. It’s an MCP server that gives Claude supervised access to the APEX REST API: reading BACnet points, trend logs, schedules and alarms, discovering devices on the network, comparing a heating curve to the measurement… Read-only by default. Writing can be enabled as an option, with simulation, confirmation, a dedicated BACnet priority and a log.
It’s a big topic that deserves its own article. Let’s call it the season 2 teaser.
The last word
Six episodes later, our controller runs an MQTT broker, Zigbee, LoRaWAN, a Node-RED that builds BACnet points, trends, and all of it now installs in a few clicks. Everything is possible with the APEX, as long as you respect its limits. Open Apexpress respects them for you.
The tool is free (MIT license) and you’ll find it on GitHub.
Up and running in one minute
- Download
OpenApexpress-x.y.z-windows-x64.exefrom the Releases tab. - Run it: a console opens (keep it open) and the interface appears in your browser.
- Enter the APEX IP, username and password, or click “Try without an APEX (demo mode)“.
The file is unsigned: on first launch, SmartScreen will grumble. More info → Run anyway. The APEX also needs Internet access to pull the images.
Good to know. Distech does not document the containerisation API responses. For the very first use on a real APEX, keep an eye on the Log tab, and try the “to test” services on site before relying on them.
If you try it on site, I’m very interested in your feedback: in the comments here, or in the repo’s issues.
Thanks for following me on this little adventure!
Open Apexpress is an independent project, not affiliated with Distech Controls. ECLYPSE is a trademark of Distech Controls.
Links
$ gtb react
Did this article resonate?
$ gtb comments --tail
Comments
// loading…