gpt-home is a free, open source automation project written in Python and released under GPL-3.0. It has 649 GitHub stars, 68 forks and 0 open issues, and was last pushed 4 days ago. On this registry it ranks #77 of 96 tracked projects in Automation, with 5 head-to-head comparisons available.
🏠 GPT Home 🤖💬
ChatGPT at home! Basically a better Google Nest Hub or Amazon Alexa home assistant. Built on the Raspberry P iusing LiteLLM and LangGraph.
This guide will explain how to build your own. It's pretty straight forward. You can also use this as a reference for building other projects on the Raspberry Pi.
Theoretically, the app should run on any linux system thanks to docker, but I can only vouch for the versions listed in the compatibility table. You should be able use any plug-and-play USB/3.5mm speaker or microphone as long as it's supported by ALSA or PortAudio.
Required: Set your API key. Copy the example config and add your key. GPT Home uses LiteLLM which supports 100+ providers (OpenAI, Anthropic, Google, Cohere, etc.):
cd ~/gpt-home
cp .env.example .env
sed -i 's/^LITELLM_API_KEY=$/LITELLM_API_KEY=your-api-key-here/' .env
docker compose down && docker compose up -d
Tip: You can also set the API key via the web interface at gpt-home.local/settings. See LiteLLM docs for all supported providers.
Optional: To view the logs and verify the assistant is running:
docker compose logs -f
Development (Any Machine)
git clone https://github.com/judahpaul16/gpt-home.git
cd gpt-home
cp .env.example .env
# Edit .env with your API keys
nano .env
# Start dev environment with hot reload
COMPOSE_PROFILES=dev docker compose up
# or
docker compose --profile dev up
Access at http://localhost (nginx routes to frontend and API).
🔌 Schematics
⚠️ Caution: Battery Connection
IMPORTANT: The image on the left is for illustration purposes. Do not connect the battery directly to the Raspberry Pi. Use a UPS or power supply with a battery like this one. Connecting the battery directly to the Raspberry Pi can cause damage to the board from voltage fluctuations.
Before connecting the battery, ensure that the polarity is correct to avoid damage to your Raspberry Pi or other components. Disconnect power sources before making changes.
[click to enlarge]
📋 Specifications
Minimum
Recommended
Board
Raspberry Pi Zero 2 W
Raspberry Pi 4B / 5
CPU
Quad-core ARM Cortex-A53 @ 1GHz
Quad-core ARM Cortex-A72 @ 1.5GHz+
RAM
512MB
1GB+
Storage
16GB microSD
32GB+ microSD
OS
Raspberry Pi OS Lite (64-bit)
Ubuntu Server (64-bit)
All system dependencies (Docker, time sync, etc.) are installed automatically by the setup script.
🛠 My Parts List
This is the list of parts I used to build my first GPT Home. You can use this as a reference for building your own. I've also included optional parts that you can add to enhance your setup. To be clear you can use any system that runs Linux.
If your Pi isn't connected via Ethernet, use the included Wi-Fi setup script. It configures wpa_supplicant + systemd-networkd, disables NetworkManager (which can interfere), sets up DNS, and disables Wi-Fi power saving:
You can also set WIFI_IFACE (default: wlan0) and WIFI_COUNTRY (default: US) if needed.
👈 Other methods
NetworkManager (Ubuntu, Armbian, some Raspberry Pi OS images):
sudo nmcli dev wifi connect "your-ssid" password "your-password"
To list available networks: nmcli dev wifi list
raspi-config (Raspberry Pi OS):
sudo raspi-config
Navigate to System Options > Wireless LAN and enter your SSID and password.
Ethernet: If Wi-Fi is unreliable, a wired Ethernet connection is always the most stable option and requires no configuration.
🐳 Building the Docker Container
Note: GPT Home uses LiteLLM which supports 100+ LLM providers. Set your LITELLM_API_KEY in the .env file or via the web interface at gpt-home.local/settings. See the LiteLLM docs for supported providers.
Optional: Add these aliases to your .bashrc file for easier management.
## Set working directory
alias gpt-home="cd ~/gpt-home"
## Manage all services
alias gpt-up="cd ~/gpt-home && docker compose up -d"
alias gpt-down="cd ~/gpt-home && docker compose down"
alias gpt-restart="cd ~/gpt-home && docker compose restart"
alias gpt-logs="cd ~/gpt-home && docker compose logs -f"
alias gpt-status="cd ~/gpt-home && docker compose ps"
## Manage individual services
alias gpt-backend-logs="cd ~/gpt-home && docker compose logs -f backend"
alias gpt-backend-restart="cd ~/gpt-home && docker compose restart backend"
alias gpt-backend-shell="cd ~/gpt
gpt-home is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.
What does gpt-home do?
ChatGPT at home! A better alternative to commercial smart home assistants, built on the Raspberry Pi using LiteLLM and LangGraph.
What is gpt-home written in?
gpt-home is primarily written in Python. Its source is publicly available at https://github.com/judahpaul16/gpt-home, and it has 649 GitHub stars.