Back to Portfolio
IoT / Home Automation Featured Project

GoHome

A lightweight, modular, and fast home automation system written in Go for Raspberry Pi. Control your smart home devices with a modern web interface.

Go React gRPC Raspberry Pi Docker
GoHome

Overview

GoHome is a lightweight, modular, and fast home automation system designed specifically for Raspberry Pi. Built with Go for the backend and React for the frontend, it provides a modern and responsive interface to control all your smart home devices.

Key Features

  • Lightweight & Fast: Optimized for Raspberry Pi with minimal resource usage
  • Modular Architecture: Easy to extend with new device types and integrations
  • Real-time Updates: gRPC and NATS messaging for instant device state synchronization
  • Modern UI: Beautiful React interface with TailwindCSS and shadcn/ui components
  • Container Ready: Deploy easily with Podman or Docker

Technology Stack

LayerTechnology
FrontendReact 18, TypeScript, Vite, TailwindCSS, shadcn/ui
BackendGo, GoFiber, gRPC, Protocol Buffers
MessagingNATS
MonitoringVictoriaMetrics
ContainerPodman

Quick Start

One-line install for Raspberry Pi:

curl -sSL https://raw.githubusercontent.com/alainpaluku/gohome/main/scripts/install.sh | bash

Or with Podman:

podman-compose up -d

Then open http://localhost:3000

API Endpoints

Devices

MethodEndpointDescription
GET/api/v1/devicesList all devices
GET/api/v1/devices/:idGet device details
POST/api/v1/devicesCreate device
PUT/api/v1/devices/:idUpdate device
DELETE/api/v1/devices/:idDelete device
POST/api/v1/devices/:id/commandSend command

Rooms

MethodEndpointDescription
GET/api/v1/roomsList all rooms
GET/api/v1/rooms/:id/devicesGet room devices

Service Ports

ServicePort
Web + API3000
gRPC50051
Metrics8428
NATS4222

Why GoHome?

GoHome was built to address the need for a self-hosted, privacy-focused home automation solution that runs efficiently on low-power devices like Raspberry Pi. Unlike cloud-dependent solutions, GoHome keeps all your data local and gives you full control over your smart home.