The following instructions would allow you to deploy the device package in a docker container with a base openWrt image. Your container would be a device available as any other and you can securely access it over With additional docker and Service configurations you could directly access the host OS and other containers if ports and services are available. This is not a docker use guide, this is a quick way to get in its own container.
The goal of these instructions is to have a dedicated container used to target the host OS and other containers if you can not install directly on the host OS. We are working on a version of to deploy into any existing linux based containers that would allow you to treat each individual container as its own device for monitoring and access.


  1. 1.
    The CPU architecture of your host operating system
  2. 2.
    The docker base image architecture
  3. 3.
  4. 4.
    Should the configuration persist through up/down cycles.

Proof of concept

Getting the openWrt image, this example uses the x86-64 tagged build.
docker pull openwrtorg/rootfs:x86-64

Docker Run

This is the base configuration using defaults in the openWrt image.
docker run -d
--name remoteit_docker_demo
--hostname remoteit_docker_demo
-v ${LOCALPATH}:/etc/remoteit
Sets the container name for your use
Sets the hostname inside the container and will be used as the device name in's device list
local mapping of the config file used by - this is required if you want the container to persist as the same device between up/down cycles. Replace ${LOCALPATH} with your local settings.
This may not be required based on the docker daemon version. This adds DNS entries to easily target the Docker network.

Install and register

Using our quick start instructions we can enter the container and quickly install the latest version of and register it in just 1 command. cURL is required for the install script. The registration code will be unique to your account.
docker exec -it remoteit_docker_demo /bin/sh
/ #: opkg update
/ #: opkg install curl
/ #: R3_REGISTRATION_CODE="<your_registration_code>"
sh -c "$(curl -L"

Configure and Connect

Now add a new SSH service or modify the existing one to target the host OS for direct access. Note the change to service host address. It defaults to container) and it's been updated it to use docker's DNS that will be available to the container.
Target any kind of service that is running on the local network, host OS, or other containers that have exposed ports.
This example is running a second container with a NGINX web server that publishes port 55000 to the host OS.