23. July 2026 · by Andreas Lehr
Managed Laravel Hosting for an IoT Platform: Biotaktix on UpCloud
We have been running Laravel applications of all sizes for years. What makes this case interesting is less Laravel itself than what hangs off it: an IoT platform with a real wire to the hardware on biogas plants, a new Laravel hosting setup on UpCloud in a German data centre, and a migration that was meant to run without drama. One step at a time.
Who is Biotaktix?
Based in Kalletal, Germany, Biotaktix GmbH builds a software platform for biogas and biomethane plants. It digitises the entire value chain: substrate planning, logistics, delivery management, mass balancing, digestate management, and the recording of inspection rounds, maintenance and working hours.
One focus is regulatory proof of compliance under RED III, SURE. Billing, mass balancing and proof generation run digitally, and the manual effort drops significantly. For plant operators this means: less paperwork and records that hold up under audit.
Our usual Laravel stack
Underneath the platform sits the stack we use for our other Laravel applications too. Deliberately built from proven components, not from whatever is top of Hacker News this week:
nginx and php-fpm as the web layer on a current PHP version
MySQL for master data, deliveries and balancing, directly on the VM rather than as a managed DB service
Redis as the cache and queue layer
Supervisor for the Laravel queues and long-running workers
plus monitoring, metrics, backups and our 24/7 SLA, the full managed Laravel hosting programme
The database runs on the VM by design – not in a managed database service, and certainly not on Kubernetes. For a stateful component with predictable load, that is the calmer option: one place for the data, a traceable backup, no extra abstraction layer that wants to be co-debugged when something breaks. The side effect shows up further down under performance: whoever has direct access to the database can optimise directly in the right places.
All of it runs on individual managed cloud servers that we size to the platform’s load and maintain in operation: patching, updates, monitoring included.
MQTTS: the wire to the plants on site
The most interesting part technically is the connection into the physical world. Biotaktix captures data directly at the plants, for example via gateways on the vehicle scales that record weighing operations in real time. To let the backend and the hardware talk securely, we use MQTTS: the lightweight IoT protocol MQTT, fully TLS-encrypted.
As the broker we run Mosquitto – lean and stable enough for this job. The on-site gateways connect as MQTTS clients, and the Laravel backend hangs off the same broker on the other side. Measurements and status messages flow encrypted from the plant into the platform, without us having to open ports on the devices or build fragile direct connections.
What is interesting is how authentication and permissions are handled: neither lives in the broker itself; both are delegated to the Laravel backend via a plugin. On every connection, Mosquitto asks over HTTP whether the credentials are valid, and before every publish or subscribe, whether that particular client may even access the requested topic. So the application, which manages the data anyway, also decides who may talk to which topic – and each plant only sees its own topics. The decisions are cached briefly so that not every single message triggers a round trip to the backend.
From setup to running operation: GPS and a performance fix
A setup like this is never finished; it grows with the platform. By now the gateways no longer only transmit weighing data, but GPS positions as well. More data also means more load on the database, and at one point a query became noticeably slow.
We built the fix together with the Biotaktix developers, in three interlocking steps: on our side, new indexes in MySQL – worked out directly from EXPLAIN rather than guessed through a managed service – plus a rescale of the VM with more CPU and RAM, live and without a reboot. On the Biotaktix side, targeted changes in the application reduced the load of the expensive query in the first place. Only the combination of index, rescale and application change brought the latency back to where it belongs – and this is exactly where the VM database pays off: direct access to EXPLAIN and indexes, without having to guess through a managed service.
Backup and disaster recovery
For a platform with regulatory records, the backup is not an afterthought. The data lands regularly on our own, self-hosted SeaweedFS infrastructure – separated from the production system on UpCloud and on hardware we own ourselves, rather than at a third-party object store. How this backup target is built, why we moved from MinIO to SeaweedFS and how the geo-redundant mirroring works, we have described in detail in a separate article.
UpCloud in a German data centre
We are provider-independent and run applications wherever it fits the customer. In the Biotaktix case, UpCloud in a German data centre was an explicit customer requirement that we are happy to live with: short paths, low latency to the plants and data residency in the country (Frankfurt am Main) – no minor detail given the platform’s regulatory focus.
In operation, one feature in particular has proven itself: rescaling without a reboot. CPU and RAM can be scaled up on UpCloud while the machine keeps running, without restarting the VM. We have already used this; when load grows, we scale the server without the platform or the MQTTS connections having to pause.
The migration: a test system first, then a quiet night
You don’t migrate a platform that real plants and regulatory records depend on into the unknown. Before the cutover we provided a complete test system on UpCloud, on which Biotaktix could rehearse every process: the application, the MQTTS connection, the background jobs.
Only once everything fit there did the production migration follow – deliberately at night and with direct support. Throughout the switchover our contact was reachable the whole time; every step was coordinated and verified immediately. The platform has run stably on the new infrastructure ever since.
Nils Lüpke, Managing Director of Biotaktix, sums it up like this:
“Our platform now handles more than 100,000 weighings per year for biogas and biomethane plants, from which the billing and the RED III and SURE compliance records are generated. That leaves us very little room for outages. Before the switchover, We Manage provided a complete test system on which we could calmly verify every process. The production migration ran at night and was accompanied throughout – every step was coordinated, and our contact was available all night long. The platform has run stably ever since, and we can focus on development.”
Thank you for the trust, Nils! We enjoy the collaboration just as much – and we’re glad to contribute our small part to renewable energy, a topic that doesn’t get the spotlight quite as often.
Looking for a Laravel host that thinks along with you?
Whether it’s a classic web app or an IoT platform with hardware in the field: we run your application as managed Laravel hosting on individual managed cloud servers – with the provider that fits you, the full stack and 24/7 availability.
Sounds like your project? Get in touch.