Our product for manufacturing

Leif: every machine. every log. one view.

Leif is the self-hosted log and asset server for robotics and manufacturing environments. Your Dobots, PLCs and peripherals send their messages to Leif via TCP, REST, MQTT, syslog, the Loki API or OpenTelemetry (OTLP). You see everything live in the browser, on the facility map and as an alert in Teams, by email or via webhook. And when a station stops, the timeline replays camera footage, signals and the program line of the incident in a single view.

Production hall with a Leif wallboard: facility map with green status markers and one amber marker above the line AI-generated
Leif on the shop floor: the facility map runs as a wallboard above the line. Green is running, amber warns, red needs attention.

The timeline: from incident to root cause in minutes

In Leif an incident is not a single log entry but a complete replay. The timeline puts one cursor across everything that belongs to the incident: the camera replay of the cell, every DI and DO signal with a plain name instead of a pin number and the Lua program line that was running at that exact moment. You drag the cursor and everything moves in sync.

Leif timeline: camera replay of a robot cell, DI and DO signals with plain names, highlighted Lua program line and signal traces with the incident marker
The incident replay: camera image, plain-text signals such as safety door closed or vacuum reached, the active line in src0.lua and every signal edge under one cursor.

Camera replay

The cell camera delivers the video of the incident automatically. While scrubbing, the image jumps exactly to the cursor time, from the gripper to the signal tower.

Signals in plain language

Instead of DI 3 you read vacuum reached: name your DI and DO pins once, then the timeline and the live view show the plain name everywhere.

Program line of the incident

The timeline shows the work step, line number and source code of the robot program at the cursor, like a debugger for the cell.

Good-run compare and export

Reference traces from error-free cycles reveal deviations at a glance. Export the incident package as a file for your supplier or maintenance team.

What Leif does for you

Live view in the browser

New logs appear in real time, with full-text search and filters by robot, level and station. Images, videos and dumps attach to the log entry as payloads. Export filtered searches as CSV or JSON.

Open to every source

Native TCP protocol, REST, MQTT, Loki API, OpenTelemetry (OTLP) and syslog: robots, PLCs, sensors, switches, firewalls and modern applications reach Leif without detours. Copy-paste-ready examples ship right inside the interface.

Notices outages by itself

Leif accepts MQTT directly, with no broker of your own on the shop floor. Every device registers a farewell message when it connects: if the connection drops, Leif reports the outage itself, the alert goes out and the facility map turns red. TCP clients too.

Live facility map

Upload your floor plan and place a marker per robot: green runs, amber warns, red needs attention. Ideal as a TV wallboard on the shop floor.

Alerts: Teams, email, webhook

Critical messages reach the Teams channel, the email inbox or land as a JSON webhook in n8n and andon systems. Regex patterns per channel, deduplication and cooldown against alert floods.

Traceability

Trace IDs let you follow connected processes, for example a complete production order across several stations. Every incident opens straight in the timeline.

Grafana & Metabase ready

Loki-compatible API for existing dashboards, PostgreSQL storage for deep SQL analysis.

Three languages

The interface speaks German, French and English. Every user picks their own language, ideal for plants with international teams.

Ready for operations

Leif installs updates with one click from the interface. Single sign-on via Microsoft Entra ID, Keycloak or Authentik, retention policies clean up logs and videos automatically.

100% self-hosted

Docker Compose, no cloud, no data sharing. Your production data stays in your plant.

Leif in pictures

Live logs of a Dobot MG400 in the Leif log server, filterable by level and robot
Live logs: every message appears in real time, filterable by level, robot and time range.
Live facility map in Leif with status markers per robot
The live facility map: green runs, amber warns, red needs attention.
Leif alerting in Microsoft Teams with regex patterns per channel
Alerts in Microsoft Teams: regex patterns, log levels and grace periods per channel.
Log detail view in Leif with metadata and payload of a Dobot robot
Detail view with metadata, payload attachment and trace ID. One click opens the incident in the timeline.

Convince yourself in 30 minutes

We show you Leif in a video call, on request with your own floor plan and sample data from your production. No sales pressure: you get in touch, we demonstrate, you decide.

To see what connecting a robot looks like in practice, read our article Logging with Dobot Lua (German).

Leif FAQ

What is Leif?

Leif is a self-hosted log and asset server for robotics and manufacturing environments. Robots, PLCs and peripheral devices send their messages to Leif via TCP, REST, MQTT, syslog, the Loki API or OpenTelemetry (OTLP), where you get a live view, a shop floor map, alerts and analytics.

Where is the data from Leif stored?

Exclusively on your side: Leif runs via Docker Compose on your own infrastructure, stores data in PostgreSQL and does not send anything to a cloud.

Can Leif be connected to Grafana?

Yes. Leif provides a Loki-compatible API for existing Grafana dashboards and PostgreSQL storage for deep SQL analysis, for example with Metabase.

Which devices can I connect to Leif?

Anything that speaks TCP, REST, MQTT, syslog, Loki or OpenTelemetry (OTLP): Dobot robots (CR series, M1 Pro, MG400), PLCs and test rigs via TCP or REST, sensors and gateways via MQTT, switches, firewalls and UPSes via syslog, modern applications and collector pipelines via OTLP. For each device you create a client ID with its own API key in the admin panel, and copy-paste-ready examples ship right inside the interface.

Do I need my own broker for MQTT?

No. Leif accepts MQTT messages directly (MQTT 3.1.1), so you do not have to run an additional Mosquitto or EMQX. Devices authenticate with the same client ID and API key as the TCP ingest. If you also want to distribute messages to other systems, keep a dedicated broker, because Leif receives data rather than forwarding it.

How does Leif notice that a device has failed?

Through a farewell message the device registers when it connects (last will). If the connection drops or the heartbeat stops, Leif publishes that message itself as an incident, by default with level ERROR. Alerts go out and the facility map turns red without the failed device being able to report anything. This works for MQTT devices and for TCP clients.

How does Leif send alerts?

Through three channels: Microsoft Teams, email via your own SMTP server and generic JSON webhooks for n8n, Node-RED or andon systems. Each channel supports regex patterns, log level filters, deduplication, cooldown and an all-clear logic against alert floods.

What is the timeline in Leif?

The timeline is the incident replay of Leif: one cursor moves in sync across the camera replay of the cell, every DI and DO signal with a plain name and the Lua program line that was running at the moment of the incident. It also offers a good-run comparison with reference traces and exports an incident package as a file.

How does the camera image get into the timeline?

The connecting client, for example Sebastian, our client for Dobot cells, buffers the cell camera and automatically uploads the video as an attachment to the incident trace. Leif links it with the signals and the program code, and while scrubbing the image jumps exactly to the cursor time.

Which languages does Leif support?

The interface is available in German, French and English. Every user picks their own language in the header and the setting is stored per browser.

How do I keep Leif up to date and how long is data retained?

Leif installs updates with one click from the interface, the bundled updater sidecar pulls the new Docker image and restarts the service. Retention policies automatically clean up old logs, video attachments and incident data, and you define the duration in the settings.

Experience Leif live?

30 minutes, your floor plan, real data. Request a demo without obligation.