Easy Homelab Server Switch

Easy Homelab Server Switch (EHSS) is a lightweight tool designed to simplify switching on and off server in a homelab environment.
It helps developers and self-hosting enthusiasts manage their infrastructure without relying on complex orchestration systems.

About the project

Easy Homelab Server Switch (EHSS) is a project designed for homelab environments where the server is not always running.

It helps maintain a consistent and functional user experience even when the server is temporarily unavailable.

When the server is offline - whether due to an unexpected failure, a planned shutdown, or intentional power saving - a lightweight static (customizable) page is served instead.

This page doesn't redirect users away from the page they were visiting.

Instead of redirecting the user elsewhere, EHSS displays a clear status message directly on the current page and temporarily blocks interactions that require the server to be online until the server becomes available again.

Once the server is back online, the user remains on the same page and can continue using the service without interruption.

The system is designed to be simple to set up and use, with minimal configuration required.

It can be easily integrated into existing homelab setups, providing a seamless experience!

The system allows the server to be started or stopped remotely from anywhere - both within the local network and externally.

Users receive clear status information during the process, and multiple safeguards are implemented to handle edge cases and ensure reliable operation.

Open source

EHSS is fully open source and available on GitHub.

Feedback and suggestions are always welcome!

Guide

A detailed step-by-step guide is available for people who want to deploy EHSS in their own homelab environment.

What's inside the Guide?

MQTT

  • MQTT setup

Cloudflare worker

Option A With GitHub Pages
  • Repository preparation
  • Domain configuration
  • Cloudflare worker deployment
  • Cloudflare worker configuration
Option B Without GitHub Pages
  • Cloudflare worker deployment
  • Cloudflare worker configuration

Linux server

  • Server setup
  • Server configuration
  • Docker build and deployment

ESP32

  • Arduino IDE setup
  • ESP32 configuration
  • Firmware upload

Client

Windows
  • Environment setup
  • Client configuration
  • Application usage
Android
  • Build environment setup (Linux VM)
  • Client configuration
  • APK build
  • APK debugging
  • APK rebuild

You can get access to the full setup guide by making a donation from 0 USD or from 0 PLN.

Support the Project

If you find EHSS useful, you can support the developer by making a donation.

This helps cover payment fees and supports future development.

Your donation will grant you access to the step-by-step setup guide!