Simple IoT provides for synchronized upstream connections via NATS or NATS over Websocket.


To create an upstream sync, add a sync node to the root node on the downstream instance. If your upstream server has a name of, then you can use the following connections URIs:

  • nats:// (4222 is the default nats port)
  • ws:// (websocket unencrypted connection)
  • wss:// (websocket encrypted connection)

IP addresses can also be used for the server name.

Auth token is optional and needs to be configured in an environment variable for the upstream server. If your upstream is on the public internet, you should use an auth token. If both devices are on an internal network, then you may not need an auth token.

Typically, wss are simplest for servers that are fronted by a web server like Caddy that has TLS certs. For internal connections, nats or ws connections are typically used.

Occasionally, you might also have edge devices on networks where nats outgoing connections on port 4222 are blocked. In this case, its handy to be able to use the wss connection, which just uses standard HTTP(S) ports.



There are also several videos that demonstrate upstream connections:

Simple IoT upstream synchronization support

Simple IoT Integration with PLC Using Modbus