Welcome to GoHome¶
go-home is a lightweight, modular bridge for smart home devices, written in Go. It is designed to be fast, resource-efficient, and easy to deploy using Docker.
Architecture¶
The system relies on a decoupled architecture using MQTT for communication between the Core and its Plugins.
graph LR
subgraph Plugins
A[Bluetooth Scanner] -->|MQTT| B(Mosquitto Broker)
C[HomeKit Adapter] <-->|MQTT| B
end
subgraph Core Logic
B <-->|MQTT| D[GoHome Core]
D <-->|SQL| E[(SQLite DB)]
end
F[User / API] -->|HTTP| D
C -->|WiFi| G((Apple Home))
Components¶
The ecosystem consists of two main parts:
-
Core Service: The brain of the operation. It manages state, logic, and the API.
-
Plugins: Microservices that act as adapters (Bluetooth, HomeKit, Zigbee, etc.) and communicate via MQTT.
Getting Started¶
👉 Ready to start? Go to the Installation page.