Topics / #homelab

Homelab projects on GitHub

Self-hosted server setups and dashboards for running services at home.

As of , the most-starred Homelab projects on GitHub are vaultwarden (69.2K stars), windows (53.6K stars) and kubernetes-the-hard-way (50.4K stars). GitHub.Locker tracks 58 Homelab repositories with 1M stars combined. The fastest-growing on October 16 was project-nomad, with +97 stars in a day.

58Projects
1MStars in total
+707Stars in a day

Hot right now

Most stars gained in a day · Oct 16

The all-time top

58 projects · by stars

  1. #1 · dani-garcia/vaultwarden

    vaultwarden

    Vaultwarden is an unofficial, Rust-written server that implements the Bitwarden Client API, so you can run your own password-manager backend instead of using Bitwarden's official hosted service.

    69.2K
  2. #2 · dockur/windows

    windows

    dockur/windows runs a full, real Windows installation inside a Docker container, automatically downloading and installing it with no manual steps.

    53.6K
  3. #3 · kelseyhightower/kubernetes-the-hard-way

    kubernetes-the-hard-way

    A step-by-step tutorial that walks you through bootstrapping a Kubernetes cluster manually, without any automation scripts, so you learn how every component actually works.

    50.4K
  1. 4

    it-tools

    40.9KCorentinTh/it-tools · Vue

    It-tools is a free, open-source collection of handy online tools for developers and people working in IT — small utilities with great UX, gathered in one web app.

  2. 5

    project-nomad

    40.4KCrosstalk-Solutions/project-nomad · TypeScript

    Project NOMAD is a self-contained, offline-first knowledge and education server: offline Wikipedia, thousands of books, Khan Academy courses, offline maps and optional local AI, all running on hardware you own with no internet required.

  3. 6

    portainer

    38.7Kportainer/portainer · TypeScript

    Portainer is a lightweight management platform for Docker, Docker Swarm, Kubernetes and ACI environments, letting you manage containers, images, volumes and networks through a web GUI or API.

  4. 7

    glance

    37.5Kglanceapp/glance · Go

    Glance is a self-hosted dashboard that puts all your feeds in one place: a single streamlined web page where you arrange widgets for RSS, Reddit, weather, YouTube, market prices and server stats.

  5. 8

    CasaOS

    37.3KIceWhaleTech/CasaOS · Go

    CasaOS is an open-source personal cloud operating system that turns a small computer (ZimaBoard, NUC, Raspberry Pi, or an old PC) into a home server with a friendly web UI for files, apps, and devices.

  6. 9

    ntfy

    34.9Kbinwiederhier/ntfy · Go

    ntfy is a simple HTTP-based pub-sub notification service that lets you send push notifications to your phone or desktop with a single PUT or POST request, without signing up or paying anything.

  7. 10

    nginx-proxy-manager

    34.4KNginxProxyManager/nginx-proxy-manager · TypeScript

    Nginx Proxy Manager is a pre-built Docker container that gives you a web admin interface to manage Nginx reverse proxy hosts, including free SSL certificates, without needing to know Nginx configuration.

  8. 11

    homepage

    33.2Kgethomepage/homepage · JavaScript

    Homepage is a fully static, highly customizable application dashboard (startpage) that aggregates service widgets, Docker container stats, bookmarks, and information widgets like weather and search in one place.

  9. 12

    ProxmoxVE

    29.8Kcommunity-scripts/ProxmoxVE · Shell

    A community-maintained set of one-command install scripts for Proxmox VE: paste a single line into your Proxmox shell and it sets up a popular self-hosted service as a ready container or VM.

  10. 13

    dashy

    26.7Klissy93/dashy · Vue

    Dashy is a self-hostable personal dashboard: a single, highly customizable start page for your homelab that gathers all your apps, links and services in one place, with status checks, widgets, themes and instant search built in.

  11. 14

    beszel

    26.3Khenrygd/beszel · Go

    Beszel is a lightweight server monitoring platform with a friendly web interface. It tracks historical metrics and Docker container stats, sends alerts, and is ready to use out of the box.

  12. 15

    dockge

    24.6Klouislam/dockge · TypeScript

    Dockge is a self-hosted, reactive web manager for Docker Compose stacks: from a browser you create, edit, start, stop, restart and delete compose.yaml stacks, update images and watch progress in real time.

  13. 16

    navidrome

    24.2Knavidrome/navidrome · Go

    Navidrome is an open-source web-based music collection server and streamer that you self-host — it serves your own library to any browser or mobile device, like your personal Spotify.

  14. 17

    OSX-KVM

    23.7Kkholia/OSX-KVM · Shell

    Scripts and OpenCore configuration for running macOS as a virtual machine under QEMU/KVM on a Linux host, supporting recent macOS versions such as Monterey, Ventura and Sonoma.

  15. 18

    Self-Hosting-Guide

    23.1Kmikeroyal/Self-Hosting-Guide · Dockerfile

    This is a curated guide for self-hosting software on your own servers instead of relying on third-party cloud providers, covering topics like Cloud, LLMs, WireGuard, Automation, Home Assistant, and Networking.

  16. 19

    macos

    21.7Kdockur/macos · Shell

    dockur/macos lets you run a full macOS virtual machine inside a Docker container, complete with a web-based viewer so you can control it right from your browser.

  17. 20

    openvpn-install

    20.6KNyr/openvpn-install · Shell

    A shell script that automatically sets up your own OpenVPN road warrior VPN server on Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS or Fedora.

  18. 21

    ddns-go

    17.4Kjeessy2/ddns-go · Go

    DDNS-GO is a dynamic DNS tool: it watches your public IPv4 or IPv6 address and automatically updates your DNS records whenever it changes, so your domain always points to your current IP.

  19. 22

    awesome-raspberry-pi

    17Kthibmaek/awesome-raspberry-pi · Shell

    A curated list of Raspberry Pi tools, projects, OS images and resources, maintained in the spirit of the Awesome Manifesto.

  20. 23

    Termix

    15.5KTermix-SSH/Termix · TypeScript

    Termix is a free, self-hosted platform that puts SSH terminals, remote desktop (RDP/VNC/Telnet), file transfers over SFTP, Docker and Podman management, host metrics, and automations for your servers in one web, desktop, and mobile app.

  21. 24

    speedtest

    15.2Klibrespeed/speedtest · JavaScript

    LibreSpeed is a self-hosted internet speed test you host on your own server, built in plain JavaScript with XMLHttpRequest and Web Workers instead of Flash or Java.

  22. 25

    Proxmox

    15.2Ktteck/Proxmox · Shell

    A collection of shell scripts for Proxmox VE that let you interactively create and configure LXC containers and virtual machines, offering both quick default setups and advanced customizable ones.

  23. 26

    dozzle

    14.7Kamir20/dozzle · Go

    Dozzle is a lightweight, web-based application for monitoring Docker container logs in real time, with support for Docker, Swarm, and Kubernetes.

  24. 27

    xpipe

    14.6Kxpipe-io/xpipe

    XPipe is a connection hub that lets you access your entire server infrastructure (SSH hosts, Docker, Kubernetes, VMs, cloud servers, WSL, and more) from one local desktop app, without installing any agent on the remote systems.

  25. 28

    rathole

    14.3Krathole-org/rathole · Rust

    Rathole is a secure, stable, high-performance reverse proxy written in Rust that exposes a service running on a device behind NAT to the Internet through a server with a public IP, similar to frp and ngrok.

  26. 29

    Are-u-ok

    14.3KAUK9527/Are-u-ok

    A download repository of prebuilt third-party plugin packages for iStore — the app store used on OpenWrt routers — with separate package sets for OpenWrt 22.03 and 24.10.

  27. 30

    macOS-Simple-KVM

    13.9Kfoxlet/macOS-Simple-KVM · Shell

    A set of scripts and tools for setting up a macOS virtual machine in QEMU, accelerated by KVM, so you can run macOS on a Linux host.

  28. 31

    romm

    13.8Krommapp/romm · Python

    RomM (ROM Manager) is a self-hosted web app that scans, organizes, enriches and lets you play your retro game ROM collection, pulling metadata and artwork from multiple providers and covering 400+ platforms.

  29. 32

    FreeDomains

    13.1Kstackryze/FreeDomains · JavaScript

    Stackryze Domains is a free managed subdomain service that lets developers, students, and open-source projects claim a free subdomain (like yourname.indevs.in) and point it to any hosting provider or their own infrastructure.

  30. 33

    seerr

    12.9Kseerr-team/seerr · TypeScript

    Seerr is an open-source media request and discovery manager for Jellyfin, Plex, and Emby — the successor to Overseerr and Jellyseerr for browsing and requesting movies and shows on a media server.

  31. 34

    netboot.xyz

    12.5Knetbootxyz/netboot.xyz · Jinja

    netboot.xyz is a network-based boot menu built on iPXE: you boot a machine from a small bootloader image and pick almost any operating system or utility disk from a menu, without downloading ISOs beforehand.

  32. 35

    immortalwrt

    11.8Kimmortalwrt/immortalwrt · C

    ImmortalWrt is a fork of OpenWrt (a Linux-based router firmware) with more packages ported, more devices supported, optimized default profiles, and localization specifically for mainland China users.

  33. 36

    docker-pi-hole

    11.7Kpi-hole/docker-pi-hole · Shell

    This is the official Docker image for Pi-hole, a network-wide ad blocker, letting you run Pi-hole as a container on your own Linux hardware instead of installing it directly on the OS.

  34. 37

    wireguard-install

    11.4Kangristan/wireguard-install · Shell

    A bash script that sets up a WireGuard VPN on a Linux server, forwarding all your traffic through an encrypted tunnel and NATing it so you appear to browse with the server's IP.

  35. 38

    mosquitto

    11.3Keclipse-mosquitto/mosquitto · C

    Mosquitto is an open source MQTT broker implementation supporting MQTT protocol versions 5.0, 3.1.1 and 3.1, used for lightweight message passing between devices.

  36. 39

    tini

    11.3Kkrallin/tini · C

    Tini is a tiny init process designed to run as PID 1 inside containers. It spawns your program as a child, reaps zombie processes, and forwards signals to the child so things like SIGTERM work correctly.

  37. 40

    dawarich

    10.7KFreika/dawarich · Ruby

    Dawarich is a self-hostable web app that replaces Google Timeline: it tracks your location history, shows it on an interactive map, and analyzes your travels.

  38. 41

    sovereign

    10.6Ksovereign/sovereign · HTML

    Sovereign is a set of Ansible playbooks that build and maintain your own private cloud on a server you control, bundling email, calendar/contacts sync, file storage, VPN, an IRC bouncer, webmail, and more.

  39. 42

    pikvm

    10.4Kpikvm/pikvm

    An open, inexpensive DIY IP-KVM built on Raspberry Pi: it gives you keyboard, video and mouse control of a remote server over the network, working even when the server's OS is broken or missing — so you can fix boot problems, enter the BIOS or reinstall the OS from a virtual drive.

  40. 43

    DnsServer

    10.1KTechnitiumSoftware/DnsServer · C#

    Technitium DNS Server is an open source, self-hosted DNS server that works as both an authoritative server and a recursive resolver. Its headline use is blocking ads and malware at the DNS level for an entire home or organization network, with configuration done in a web console.

  41. 44

    deploy-your-own-saas

    10.1KAtarity/deploy-your-own-saas · Python

    It is a curated, categorized list of self-hosted, open-source alternatives to popular cloud services - VPN, music streaming, photo hosting, notes, bookmarks, email, chat, backups and more - so you can run 'your own' version of each instead of relying on a commercial provider.

  42. 45

    dockhand

    6.8KFinsys/dockhand · TypeScript

    Dockhand is a self-hosted web UI for managing Docker environments - containers, Compose stacks, images, and volumes - across local and remote hosts, with live monitoring, logs, and a built-in terminal.

  43. 46

    scanopy

    5.9Kscanopy/scanopy · Rust

    Scanopy is a self-hosted tool that automatically scans your network and keeps network diagrams and documentation continuously up to date instead of you drawing them manually.

  44. 47

    fugleramme

    3.8Karnegiacomo/fugleramme · Python

    An e-ink bird picture frame for the Raspberry Pi: it detects birds by their sounds in real time with fully local AI and shows hand-cut 1800s illustrations of what is singing around it. A web kiosk serves the same view on any screen.

  45. 48

    sh

    3.4Kkejilion/sh · Shell

    KejiLion.sh is an all-in-one interactive shell script toolbox for managing Linux servers: system monitoring, network testing, Docker, one-click LDNMP website stacks, backups, and security hardening.

  46. 49

    p2wlan

    2.5Kyhan-sun/p2wlan · Rust

    P2WLAN is an open-source, P2P-first, self-hostable virtual LAN tool that gives devices private virtual IPs so machines on different networks (home broadband, mobile, campus, cloud) can talk to each other as if they were on the same LAN.

  47. 50

    EchoMuse

    1.3Kwilbowes/EchoMuse · Python

    It turns a second-hand Amazon Echo Dot (2nd gen, 2016) into a local voice satellite for Home Assistant: say the wake word, ask, and hear the answer from the Dot. No Amazon account, no Alexa, no cloud - the microphones, speaker, LED ring and buttons keep working.

  48. 51

    Pi.Alert

    1.2Kleiweibau/Pi.Alert · PHP

    Pi.Alert watches your Wi-Fi or LAN and alerts you when an unknown device connects, a known device disconnects, or a monitored web service goes down. It also checks HTTP status, response time, and SSL certificates for web services you configure.

  49. 52

    omnyssh

    1.2Ktimhartmann7/omnyssh · Rust

    OmnySSH is a free, open-source SSH client and server manager for macOS, Windows and Linux. One window holds a live metrics dashboard, real terminal tabs, two-panel SFTP, snippets and one-click SSH key setup — as a desktop GUI plus a terminal TUI, built in Rust.

  50. 53

    local_roborock_server

    935Python-roborock/local_roborock_server · Python

    A self-hosted local HTTPS and MQTT server that emulates Roborock's cloud backend on your own LAN, letting your Roborock vacuum keep live maps and local control without reaching the internet, and without rooting or modifying hardware.

  51. 54

    azerioid-stack-manager

    710azerioid/azerioid-stack-manager · PHP

    AZERIOID Stack Manager is a self-contained stack manager and web control panel for operators who run sites on a single Linux server. It bootstraps Caddy, a dedicated PHP-FPM pool and a SQLite-backed admin UI, then lets you add web servers, databases, cache, mail, Node.js and rootless Docker on demand.

  52. 55

    ServerBox

    264madeye/ServerBox · Kotlin

    ServerBox is an Android app that turns an old phone into a Linux server without rooting it, running Alpine, Arch, Debian, Kali or Ubuntu with an always-on SSH server.

  53. 56

    labtether

    249labtether/labtether · Go

    LabTether is a self-hosted control plane that unifies monitoring and control of your homelab (Proxmox, TrueNAS, Docker, Home Assistant, etc.) into one dashboard with remote terminal, remote desktop, alerts, and an AI-operable interface.

  54. 57

    oto-dock

    191OtoDock/oto-dock · Python

    OtoDock is a self-hosted platform for a company's AI agents: your team builds them on Claude Code, Codex or local models, and they work in chats, on schedules, over the phone and on your own machines.

  55. 58

    ENZO

    113theguysudo/ENZO · TypeScript

    ENZO is a self-hosted AI workspace where you chat with 300+ models, build self-drafting agents, run deep research, and generate code — all running on your own provider API keys instead of a subscription.

Often tagged together