Skip to content

Headless Mode

GhostTypes edited this page Jul 24, 2026 · 3 revisions

Headless Mode Usage

For Linux and MacOS, replace FlashForgeUI.exe with the correct way to start from the CLI, for your OS. The --enable-logging flag is only needed for Windows, or if it's not spawning a new CLI window after starting the program.

For MacOS, the command structure starts with

open "/Applications/FlashForgeUI.app/Contents/MacOS/FlashForgeUI"

For Linux, the command depends on which package you installed.

Installed from the .deb or .rpm — the installer puts FlashForgeUI on your PATH:

FlashForgeUI --headless

Running the AppImage — call it by path (make it executable once with chmod +x if you have not already):

./FlashForgeUI-*.AppImage --headless

Both accept the same flags as the Windows examples below.

Starting Headless Mode

Launch FlashForgeUI with the --headless flag:

FlashForgeUI.exe --enable-logging --headless

The WebUI will be accessible at http://localhost:3000 by default.

Auto-starting headless mode at login

Headless mode has no Start with system toggle (that setting is part of the desktop app). To launch headless FlashForgeUI automatically at login, set up a systemd user service — see the headless section of Auto Start.

Command-Line Arguments

Core Flags

--headless

  • Runs without the desktop UI
  • Starts the WebUI server automatically
  • Required for all headless operations

Printer Connection Modes

--last-used

  • Connects to the last printer you used
FlashForgeUI.exe --enable-logging --headless --last-used

--all-saved-printers

  • Connects to all saved printers
  • Enables multi-printer mode with dropdown selector
FlashForgeUI.exe --enable-logging --headless --all-saved-printers

--printers=<spec>

  • Connects to specific printer(s) by IP address and type
  • Format: --printers="<ip>:<type>[:<checkcode>[:<serial>]],..."
  • Type: new (5M family), legacy (older models), or creator-5 / creator-5-pro
  • Checkcode: Required for all modern types (8-digit code)
  • Serial: Required for creator-5 / creator-5-pro, optional otherwise

The Creator 5 series is HTTP-only — it runs no legacy TCP server — so those printers need the dedicated type token (the generic new token triggers a TCP probe they cannot answer) and their serial number, which cannot be recovered by probing.

Single printer example:

FlashForgeUI.exe --enable-logging --headless --printers="192.168.1.100:new:12345678"

Multiple printers example:

FlashForgeUI.exe --enable-logging --headless --printers="192.168.1.100:new:12345678,192.168.1.101:legacy"

Creator 5 Pro example (serial required):

FlashForgeUI.exe --enable-logging --headless --printers="192.168.1.184:creator-5-pro:12345678:SNCRE51234567"

WebUI Server Configuration

--webui-port=<port>

  • Sets the WebUI server port (default: 3000)
FlashForgeUI.exe --enable-logging --headless --webui-port=8080

--webui-password=<password>

  • Overrides the default WebUI password
FlashForgeUI.exe --enable-logging --headless --webui-password=mypassword

Debug Logging

--debug

  • Enables debug logging to file
  • Logs are saved to timestamped files in the app's logs directory
  • Includes verbose application logs, status updates, and general debugging info
  • Can be combined with --debug-network for comprehensive logging
FlashForgeUI.exe --enable-logging --headless --last-used --debug

--debug-network

  • Enables network-specific debug logging
  • Requires debug mode to be enabled (via --debug flag or the DebugMode config setting)
  • Logs connection attempts, failures, polling errors, and disconnections
  • Useful for diagnosing printer connectivity issues
FlashForgeUI.exe --enable-logging --headless --last-used --debug --debug-network

Debug logs can be downloaded from the WebUI at:

  • /api/debug/logs - List all debug log files
  • /api/debug/latest - Download most recent debug log
  • /api/debug/network-logs - List all network debug log files
  • /api/debug/network-latest - Download most recent network log

Common Usage Examples

Single Printer (Last Used)

FlashForgeUI.exe --enable-logging --headless --last-used

Multiple Printers (All Saved)

FlashForgeUI.exe --enable-logging --headless --all-saved-printers

Specific Printer by IP (New API)

FlashForgeUI.exe --enable-logging --headless --printers="192.168.1.146:new:12345678"

Specific Printer by IP (Legacy API)

FlashForgeUI.exe --enable-logging -headless --printers="192.168.1.100:legacy"

Multiple Specific Printers

FlashForgeUI.exe --enable-logging --headless --printers="192.168.1.146:new:12345678,192.168.1.129:new:87654321"

Custom Port and Password

FlashForgeUI.exe --enable-logging --headless --last-used --webui-port=8080 --webui-password=secret

Accessing the WebUI

Once running, access the WebUI from any browser on your network:

http://<server-ip>:3000

Default password is configured in your application settings (or use --webui-password= to override).

Remote Access / Port Forwarding

Everything the WebUI needs - including live camera streams - is served over the single WebUI port (default 3000). If you expose the WebUI outside your LAN, forward only that port. Camera video is tunneled through the authenticated WebUI server, so do not forward the internal go2rtc streaming port (1984); it has no authentication of its own and should never be reachable from outside your machine's network.

Multi-Printer Mode

When using --all-saved-printers or specifying multiple printers with --printers=, the WebUI provides:

  • Printer Selector: Dropdown to switch between printers
  • Per-Printer Camera: Each printer gets its own camera stream (ports 8181+)
  • Independent Control: Each printer maintains its own state and features

Clone this wiki locally