all articles

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.

Open Apexpress logo

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.

Open Apexpress catalogue: ready-made packs and services to tick, with their status and port
Choosing services, here the Zigbee + Grafana pack (demo mode).

Four screens, and it’s installed

  1. Connection: APEX IP, username, password.
  2. Services: you tick what you want, or pick a pack.
  3. Settings: the defaults are good, passwords are generated, and every container is checked against the OPA rules before being sent.
  4. 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:

PackContentsEpisodes
ZigbeeMosquitto, Zigbee2MQTT, Node-RED#3 and #4
LoRaWANMosquitto, ChirpStack (the whole crew), Node-RED#5
TrendsMosquitto, Telegraf, InfluxDB, Grafanathe bonus you never got
MaintenanceCloudflare Tunnel, Uptime Kuma, ntfyremote 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.

Install finished: each service checked, then the links and notes for each service
Install finished: links, credentials and notes for each service.

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 in Mounts and never in Binds, "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_trgm and 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.

FamilyServices
🔌 Message busMosquitto, MQTT Web (to test)
📡 Wireless sensorsZigbee2MQTT, ChirpStack
🧠 Link with the BMSNode-RED, MCP ECLYPSE (to test)
📈 History and trendsInfluxDB, Telegraf, Grafana
🔐 Remote accessCloudflare Tunnel, Tailscale, Nginx Proxy Manager (to test)
🚨 Monitoring and alertsUptime Kuma (to test), Netdata (to test), ntfy (to test)
🛠️ Troubleshooting and comfortFileBrowser, 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

  1. Download OpenApexpress-x.y.z-windows-x64.exe from the Releases tab.
  2. Run it: a console opens (keep it open) and the interface appears in your browser.
  3. 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…

open/gtb · MIT · hosted in France
visitors github roadmap messages contact
SYS OK 15/18 tools online uptime — Rack temp 21.3 °C