Headless Mode (Server Mode)
Headless mode — also referred to as Server Mode — lets you run Laika without a GUI window, outputting exclusively via NDI® and DeckLink while accepting control through the Web UI or REST API. No monitor, desktop environment, or GPU required.
Why Headless Mode Matters
Section titled “Why Headless Mode Matters”Not every Laika instance needs a screen attached. In many deployments, Laika runs as a background service on infrastructure that has no display at all:
- Rack-mounted servers in the machine room generating multiviewer outputs for wall monitors
- Cloud instances producing NDI® monitoring feeds for remote production
- Raspberry Pi units tucked behind displays as dedicated multiviewer endpoints
- Distributed monitoring where dozens of Laika instances run unattended across a facility
Headless mode strips away the GUI overhead and lets Laika focus entirely on source processing and output — controlled remotely via the Web API.
Launching Headless / Server Mode
Section titled “Launching Headless / Server Mode”Linux — Application Launcher:
On Linux installations, Laika installs two application shortcuts in your desktop launcher:
- Fetch Laika — launches the standard GUI
- Fetch Laika (Server) — launches directly in headless mode, no terminal required
Click Fetch Laika (Server) in your applications menu to start Laika as a background server.
All platforms — Terminal:
fetch-laika --headlessLaika starts without creating a window. It discovers NDI® sources, applies your saved configuration (layouts, pads, source assignments, captions), and begins outputting via NDI® and any configured DeckLink devices.
Combine with full resolution output:
fetch-laika --headless --fullresThe --fullres flag ensures all sources are processed at their native resolution rather than the default optimised resolution. Use this when output quality is critical — for example, when the NDI® output feeds a recording system or broadcast chain.
What Works in Headless Mode
Section titled “What Works in Headless Mode”Every Laika feature continues to operate without the GUI:
- Source discovery — NDI® sources are discovered and connected automatically
- Layouts — saved layouts apply to the NDI® output composition
- Pads — switch between saved pad configurations via the Web API
- Routing — the NDI® Router creates and manages virtual outputs
- Captions — expression-based captions render on the output stream
- PTZ control — camera control commands are sent via the Web API
- Tally — tally state is tracked and reflected in output overlays
- Audio monitoring — audio meters and routing function normally
Controlling Headless Laika
Section titled “Controlling Headless Laika”All control happens through the Web UI — a full browser-based control panel served by Laika itself. Open it in any browser:
http://<laika-ip>:1928The Web UI provides a tabbed interface for everything you can do in the GUI: switching pads, assigning sources to viewers, managing the NDI® Router, controlling PTZ cameras, setting captions, adjusting preferences, configuring discovery servers, and managing your license.
For scripted or API-driven control, the same base URL exposes the full REST API. See the Web Control API page for endpoint documentation.
Console Output
Section titled “Console Output”In headless mode, Laika outputs periodic status information to the console:
- Current pad and layout
- Number of discovered sources
- NDI® output status
- Any warnings or errors
This gives you basic visibility when SSH’d into a headless machine or reviewing service logs.
Shutting Down
Section titled “Shutting Down”There are three ways to shut down a headless Laika instance:
1. Terminal (Ctrl+C):
Press Ctrl+C in the terminal for a clean shutdown.
2. REST API:
POST http://<laika-ip>:1928/api/shutdownSends a graceful shutdown signal remotely — useful from scripts or automation systems.
3. Web UI:
The browser Web UI at http://<laika-ip>:1928 includes a Shutdown button in the page header. Clicking it triggers the same graceful shutdown.
In all cases, Laika will:
- Stop all NDI® outputs gracefully (receivers see a clean disconnect, not a timeout)
- Release DeckLink devices
- Save any pending configuration changes
- Exit cleanly
System Requirements
Section titled “System Requirements”Headless mode has reduced system requirements compared to GUI mode:
- No GPU required — rendering targets NDI® output directly, no OpenGL/Vulkan needed
- No display server — runs without X11, Wayland, or a connected monitor
- Lower memory footprint — no window compositor or GUI framework overhead
- Can Be Ran as a service — can be managed via systemd, launchd, or any process supervisor
Example Use Cases
Section titled “Example Use Cases”Headless rack server: Install Laika on a 1U server in the machine room. Configure layouts and pads once via the Web API. The server generates NDI® multiviewer outputs that feed wall monitors, recording systems, and confidence displays throughout the facility — all without a keyboard, mouse, or monitor attached.
Cloud multiview: Run Laika on a cloud VM receiving NDI® sources via NDI® Bridge or NDI® Remote. Remote production teams access the multiviewer output through NDI® receivers at their location. Control is handled entirely through the Web API.
Distributed monitoring: Deploy multiple headless Laika instances across a campus — one per building, floor, or studio. Each instance handles local source monitoring and outputs to nearby displays. Control all instances remotely via their Web APIs using curl, scripts, or Bitfocus Companion.