OpenThread Border Router (OTBR) provides Docker support, and can be run in a Docker container rather than directly on your local machine.
This guide focuses on running OTBR Docker on the Raspberry Pi (RPi).
Raspberry Pi setup
Install the Raspberry Pi OS with Desktop OS on the RPi. Both Desktop and Lite versions will work.
Once installed, boot up the RPi and open a terminal window.
Update the system:
sudo apt-get update
sudo apt-get upgrade
Install Docker:
curl -sSL https://get.docker.com | sh
If you want to use Docker as non-root, without requiring
sudo
before each command, modify your user settings. Sign out for the changes to take effect:sudo usermod -aG docker $USER
Start Docker if it is not already running:
sudo dockerd
Enable IP forwarding.
Linux typically disables IP forwarding by default. Run the
setup-host
script to enable IP forwarding on the host system.curl -sSL https://raw.githubusercontent.com/openthread/ot-br-posix/refs/heads/main/etc/docker/border-router/setup-host | bash
Get the OTBR Docker image
Get the OTBR Docker image by pulling it directly from the OpenThread Docker Hub, or by cloning the OTBR repository and building the included Dockerfile locally.
We recommend pulling the image from Docker Hub, as it has been tested and verified by the OpenThread team.
Pull the image from Docker Hub
Pull the image:
docker pull openthread/border-router:latest
It should now appear in your list of Docker images:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE openthread/border-router latest 08666d77013d 2 hours ago 171MB
Build the Dockerfile
To create the image yourself, clone the OpenThread Border Router repository and build the included Dockerfile.
Install git:
sudo apt install git
Clone the OTBR repository:
cd ~
git clone https://github.com/openthread/ot-br-posix
cd ot-br-posix
Build the Dockerfile:
docker build --no-cache -t openthread/border-router -f etc/docker/border-router/Dockerfile .