The simplest way to run the service — a single docker run. (Prefer Docker Compose for anything long-lived.)
Create a config.yaml next to where you'll run the command. See the
Configuration guide and the
examples (minimum-configuration-example.yaml is a good start).
docker run -d \
--name rpdu2mqtt \
--restart unless-stopped \
-v "$(pwd)/config.yaml:/config/config.yaml:ro" \
-e RPDU2MQTT_MQTT_PASSWORD="change-me" \
-e RPDU2MQTT_PDU_PASSWORD="change-me" \
-p 8080:8080 \
ghcr.io/xtremeownage/rpdu2mqtt:stable-v .../config.yaml:/config/config.yaml:ro— mount your config (drop:roto let the GUI save edits).-e RPDU2MQTT_*— keep credentials out of the file (see Credentials & secrets);*_FILEvariants are supported for Docker secrets.-p 8080:8080— only needed ifGui.Enabled. Add-p 9184:9184for the Prometheus exporter and-p 8081:8081for health checks if you enable them.
docker logs -f rpdu2mqttYou should see it connect to MQTT and start publishing. With HomeAssistant.DiscoveryEnabled, the devices appear in Home Assistant automatically.