Why Install Locally?
Running Coreflux on your own machine gives you a complete IoT data pipeline—MQTT broker, LoT runtime, and data routing—without external dependencies or cloud subscriptions.
Coreflux runs as a single binary or container. No databases, no message queues, no orchestration needed—just download and run.
Install Coreflux
Docker
DigitalOcean
Windows
Linux
Raspberry Pi
Docker is the fastest way to get Coreflux running. The official image works on Linux, macOS, and Windows. Pull the image from Docker Hub or open a terminal and run the command below—Docker will pull automatically if the image is not present. docker run -d --name coreflux_broker -p 1883:1883 -p 5000:5000 coreflux/coreflux-mqtt-broker:latest
Port Protocol Description 1883TCP MQTT (unencrypted) 5000WebSocket WebSocket connections
TLS/SSL Ports (when using certificates)
If you configure TLS certificates, expose these additional ports: docker run -d --name coreflux_broker -p 1883:1883 -p 5000:5000 -p 8883:8883 -p 443:443 coreflux/coreflux-mqtt-broker:latest
Port Protocol Description 8883TCP/TLS MQTT over TLS 443WSS WebSocket over TLS
See Broker Configuration for TLS setup.
To enable the Coreflux HUB, expose these additional ports: docker run -d --name coreflux_broker -p 1883:1883 -p 5000:5000 -p 8080:8080 -p 8443:8443 coreflux/coreflux-mqtt-broker:latest
Port Protocol Description 8080HTTP HUB (unencrypted) 8443HTTPS HUB (TLS)
If these ports are not specified, the broker runs normally but without the HUB. See Coreflux HUB Overview to learn more. Deploy Coreflux in seconds with our 1-Click Droplet on DigitalOcean Marketplace. This is the fastest way to get a production-ready broker running in the cloud.
Choose Your Droplet Size
Select a plan based on your needs: Plan RAM vCPUs Best For Basic 1 GB 1 Development, testing Basic 2 GB 1 Small deployments Basic 4 GB 2 Recommended ✓
We recommend the 4 GB / 2 vCPU droplet for most use cases. It provides headroom for LoT Actions, multiple routes, and moderate message throughput.
Select Region
Choose a datacenter close to your devices for lower latency.
Create Droplet
Click Create Droplet and wait ~60 seconds for deployment.
Connect to Your Broker
Once the droplet is ready, use the public IP address to connect: Setting Value Host <your-droplet-ip>Port 1883Username rootPassword coreflux
Change the default password immediately after first login. SSH into your droplet and update the broker configuration.
The Coreflux droplet exposes the following ports by default: Port Protocol Description 1883TCP MQTT (unencrypted) 8883TCP/TLS MQTT over TLS 5000WebSocket WebSocket connections 443WSS WebSocket over TLS
Configure your DigitalOcean firewall to restrict access as needed.
To manage your Coreflux installation via SSH: ssh root@ < your-droplet-i p >
The Coreflux broker runs as a systemd service. Common commands: # Check status
sudo systemctl status coreflux
# Restart broker
sudo systemctl restart coreflux
# View logs
sudo journalctl -u coreflux -f
Download and install Coreflux, then register it as a Windows service using the native sc tool.
Download the Windows zip from coreflux.org/downloads
Extract the zip file to your preferred location (e.g., C:\Coreflux)
Open Command Prompt as Administrator and run:
sc create CorefluxBroker binPath = "C:\Coreflux\CorefluxMQTTBroker.exe" start = auto DisplayName = "Coreflux MQTT Broker"
sc description CorefluxBroker "Coreflux MQTT Broker Service"
sc start CorefluxBroker
The service is now registered, set to start automatically on boot, and running.
Use these native Windows commands to control the service: sc stop CorefluxBroker
sc start CorefluxBroker
sc query CorefluxBroker
You can also manage it from Services (services.msc) in Windows.
Stop and remove the service with: sc stop CorefluxBroker
sc delete CorefluxBroker
Download and run the Coreflux binary on Linux x64 systems. Quick Start (foreground):
Download the Linux zip from coreflux.org/downloads
Extract and run (replace <downloaded-file> with your actual filename):
unzip < downloaded-fil e > .zip -d coreflux
cd coreflux
chmod +x CorefluxMQTTBroker
./CorefluxMQTTBroker
Production Setup (systemd service):
Create a service file:
sudo nano /etc/systemd/system/coreflux.service
Add this configuration (adjust paths as needed):
[Unit]
Description =Coreflux MQTT Broker
After =network.target
[Service]
Type =simple
User =root
WorkingDirectory =/opt/coreflux
ExecStart =/opt/coreflux/CorefluxMQTTBroker
Restart =always
RestartSec =5
[Install]
WantedBy =multi-user.target
Enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable coreflux
sudo systemctl start coreflux
Check the status:
sudo systemctl status coreflux
Download and run the Coreflux binary on Raspberry Pi (64-bit ARM). Quick Start (foreground):
Download the Raspberry Pi zip from coreflux.org/downloads
Extract and run (replace <downloaded-file> with your actual filename):
unzip < downloaded-fil e > .zip -d coreflux
cd coreflux
chmod +x CorefluxMQTTBroker
./CorefluxMQTTBroker
Production Setup (systemd service):
Create a service file:
sudo nano /etc/systemd/system/coreflux.service
Add this configuration:
[Unit]
Description =Coreflux MQTT Broker
After =network.target
[Service]
Type =simple
User =root
WorkingDirectory =/home/pi/coreflux
ExecStart =/home/pi/coreflux/CorefluxMQTTBroker
Restart =always
RestartSec =5
[Install]
WantedBy =multi-user.target
Enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable coreflux
sudo systemctl start coreflux
Check the status:
sudo systemctl status coreflux
Verify Installation
Confirm the broker is running by connecting with an MQTT client and subscribing to a system topic.
Connect to the Broker
Create a new connection with these settings: Setting Value Host localhostPort 1883Username rootPassword coreflux
Check System Topics
Subscribe to $SYS/# to see broker status messages. If you see topics like $SYS/broker/version, the broker is running correctly. You should see the Coreflux version number published to $SYS/broker/version.
Next Steps
Getting Started Create your first LoT Action in under 15 minutes.
VS Code Extension Set up the LoT language extension for syntax highlighting.