This guide covers the day-to-day operation of your DIY Thread Border Router, including starting and stopping services, creating and managing Thread networks, and basic maintenance tasks.
To start the entire Thread Border Router stack:
task startThis command will start all services defined in the docker-compose.yml file.
Success Criteria: All services should start without errors, and you should be able to access the web interfaces. Check the status with docker-compose ps to verify all containers are in the "Up" state.
To stop all services:
task stopTo restart all services (useful after configuration changes):
task restartTo check the status of all services:
docker-compose psTo view logs from all services:
docker-compose logsOr for a specific service:
docker-compose logs otbrAdd -f to follow logs in real-time:
docker-compose logs -f otbrThe OpenThread Border Router web interface is available at:
http://<raspberry-pi-ip>:80
Replace <raspberry-pi-ip> with your Raspberry Pi's IP address or hostname.
To check connectivity with all Thread devices on your network:
task ping-thread-devicesThis will automatically discover all Thread devices, determine their IPv6 addresses, and ping each one to verify connectivity.
- Access the OTBR web interface
- Click on "Form" to create a new Thread network
- Configure network settings if desired (or use defaults)
- Click "Form" to create the network
- Save the network credentials for backup purposes
- Access the OTBR web interface
- Click on "Join"
- Enter the network credentials
- Click "Join" to connect to the network
For advanced management, you can use the OpenThread CLI:
docker-compose exec otbr ot-ctlCommon commands include:
ifconfig # View interface status
state # View Thread state
networkname # View/set network name
networkkey # View network key
ipaddr # View IP addresses
ping <ip-address> # Ping a Thread device
exit # Exit the CLI
To update the underlying Raspberry Pi OS:
sudo apt update && sudo apt upgrade -yTo update the Docker images used by the project:
task updateBackup your Thread network credentials for recovery purposes:
docker-compose exec otbr ot-ctl dataset active -x > thread-network-backup.txtTo restore from a backup:
# Stop services
task stop
# Start only OTBR service
docker-compose up -d otbr
# Restore network
cat thread-network-backup.txt | docker-compose exec -T otbr bash -c 'ot-ctl dataset set active -x -'
docker-compose exec otbr ot-ctl thread start
# Start remaining services
task startChange the default Grafana admin password (admin/admin) by accessing:
http://<raspberry-pi-ip>:3000
Upon first login, you'll be prompted to change the password.
For improved security, configure a basic firewall:
sudo apt install ufw
sudo ufw allow ssh
sudo ufw allow 80/tcp # OTBR web interface
sudo ufw allow 3000/tcp # Grafana
sudo ufw allow 8081/tcp # Thread visualizer
sudo ufw enable- Device Commissioning - Adding devices to your Thread network
- Monitoring Guide - Using the observability features
- Troubleshooting Guide - If you encounter issues