device-hub is a self-hosted software solution for collecting, storing, and monitoring data from IoT devices on a local network. It was originally designed to work with devices based on the control-components firmware, but it actually supports any device with an HTTP API, making it suitable for a wide range of smart home, industrial automation, and IoT data monitoring applications.
First, an IoT device should be manually or automatically registered in the device-hub. Then, device-hub starts to fetch device telemetry and registration data and stores it in the long-term storage. In addition, device-hub stores information about registered devices, so when it's restarted it automatically reconnects to registered devices, and much more, see the full list of supported features.
Install and run from source
Ensure Go is installed on the target machine:
git clone https://github.com/tendry-lab/device-hub.git
cd device-hub
go mod download
cd projects/main
go build .
./main -h
Run with Docker
git clone https://github.com/tendry-lab/device-hub.git
cd device-hub/projects/main
docker-compose up --build
For more detailed explanations see the installation instructions for the required platform.
- Device Data Storage
- System Time Synchronization
- Inactive Device Monitoring
- mDNS Server
- mDNS Browser
- mDNS Auto Discovery
- Semver is used for versioning.
- Try to keep PR small.
- New code should be similar to existing code. Use the Google Go Style Guide.
This project is licensed under the MPL 2.0 License - see the LICENSE file for details.