Oh My Pi: Turn Any Raspberry Pi Into a Smart Device
Oh My Pi (12,554 stars) transforms Raspberry Pi devices into smart home hubs, media centers, and development workstations with one-click setup and automated configuration.
- ⭐ 16524
- Updated 2026-06-15
TL;DR #
Oh My Pi turns any Raspberry Pi into a fully configured smart device with automated setup, pre-configured dashboards, and one-click service deployment. With 12,554 stars, it’s the most popular Raspberry Pi automation framework on GitHub.
TL;DR: 12,554 stars — the #1 Raspberry Pi automation project.
What Is Oh My Pi? #
Oh My Pi is an automated setup framework for Raspberry Pi devices. Instead of manually configuring networking, installing services, and wiring them together, Oh My Pi handles the entire process from bare SD card to fully operational smart device in under 30 minutes.
The project provides a modular service catalog that includes:
- Home Assistant — Full home automation hub with 2,000+ integrations
- AdGuard Home — Network-wide ad blocking and DNS filtering
- Pi-hole — Lightweight DNS-based ad blocker
- Grafana + Prometheus — Infrastructure monitoring dashboards
- Jellyfin — Free media server for streaming
- Gitea — Self-hosted Git service
- Vaultwarden — Bitwarden-compatible password manager
- Minecraft Server — One-click Minecraft server deployment
- Network Scanner — Automatic device discovery and monitoring
- Backup Manager — Scheduled backups with encrypted storage
# Install Oh My Pi on a fresh Raspberry Pi OS
curl -sSL https://ohmypi.sh/install | sudo bash
# Or clone and run manually
git clone https://github.com/can1357/oh-my-pi.git
cd oh-my-pi
sudo ./install.sh
How Oh My Pi Works #
Oh My Pi follows a three-phase deployment model:
- System Provisioning — Configures OS, networking, users, and security hardening
- Service Installation — Deploys selected services via Docker Compose with sensible defaults
- Dashboard Assembly — Creates a unified web dashboard to manage all services
# Phase 1: System provisioning
sudo omp provision --hostname mypi --ssh-key ~/.ssh/id_ed25519.pub
# Phase 2: Install services
sudo omp install homeassistant grafana vaultwarden
# Phase 3: Generate dashboard
sudo omp dashboard --title "My Smart Pi" --theme dark
The provisioning phase handles everything that typically takes hours: static IP configuration, SSH key setup, firewall rules, log rotation, and automatic updates. Services are deployed as isolated Docker containers with persistent volumes for data.
Installation & Setup #
Requirements: Raspberry Pi 3B+ or newer (Pi 4 recommended), 8GB+ microSD card, Raspberry Pi OS Lite (64-bit).
# Step 1: Flash Raspberry Pi OS Lite
# Download from https://www.raspberrypi.com/software/
# Step 2: Enable SSH and WiFi
# Add ssh file and wpa_supplicant.conf to boot partition
# Step 3: Boot the Pi and find its IP
# Scan your network with: nmap -sn 192.168.1.0/24
# Step 4: SSH in and install Oh My Pi
ssh pi@<pi-ip>
curl -sSL https://ohmypi.sh/install | sudo bash
Docker Configuration #
Oh My Pi uses Docker Compose for all service deployments:
# Generated docker-compose.yaml after installing services
version: "3.9"
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
volumes:
- ha-data:/config
- /etc/localtime:/etc/localtime:ro
ports:
- "8123:8123"
restart: unless-stopped
adguard:
image: adguard/adguardhome:latest
volumes:
- adguard-conf:/opt/adguardhome/conf
- adguard-work:/opt/adguardhome/work
ports:
- "53:53/tcp"
- "53:53/udp"
- "3000:3000"
- "80:80/tcp"
restart: unless-stopped
vaultwarden:
image: vaultwarden/server:latest
volumes:
- vw-data:/data
environment:
SIGNUPS_ALLOWED: "false"
restart: unless-stopped
volumes:
ha-data:
adguard-conf:
adguard-work:
vw-data:
Network Configuration #
Automatic network setup handles DHCP reservations, DNS forwarding, and firewall rules:
# Configure static IP
sudo omp network static --ip 192.168.1.100 --gateway 192.168.1.1 --dns 8.8.8.8
# Set up DNS forwarding
sudo omp network dns --upstream 1.1.1.1 --local 127.0.0.1
# Configure firewall
sudo omp firewall enable --allow 22 --allow 80 --allow 443 --allow 8123
Service Catalog: Detailed Breakdown #
Oh My Pi supports 20+ services across 6 categories:
| Category | Services | Install Time | Resource Usage | |
💬 Discussion