Skip to content

tvup/idle-less

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

47 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

idle-less

Docker Pulls (reverse-proxy) Docker Pulls (wakeforce) License: MIT

Your servers sleep. Traffic wakes them.

A Docker-based reverse proxy with built-in Wake-on-LAN. Visitors hit your domain, the server boots automatically, and traffic flows β€” all in seconds.

How it works

Internet β†’ idle-less (reverse proxy) β†’ Backend server
                 ↓ (if server is sleeping)
            Wakeforce gateway
                 ↓
            Sends Wake-on-LAN packet
                 ↓
            Server boots β†’ traffic flows
  1. Traffic arrives at your domain
  2. idle-less checks if the backend server is online
  3. If offline, Wakeforce sends a Wake-on-LAN magic packet
  4. Visitors see a professional waiting screen while the server boots
  5. Once online, traffic is proxied seamlessly

Quick start

curl -fsSL https://raw.githubusercontent.com/tvup/idle-less/master/install.sh | bash

The interactive installer will guide you through:

  • Domain and backend configuration
  • SSL certificate setup (Let's Encrypt compatible)
  • Wakeforce Wake-on-LAN settings
  • Docker Compose generation

Docker images

docker pull tvup/reverse-proxy:latest
docker pull tvup/wakeforce:latest

Installation modes

Mode Command Description
Reverse proxy + Wakeforce bash install.sh --wakeforce Full setup with WoL
Reverse proxy only bash install.sh Proxy without WoL
Wakeforce standalone bash install.sh --wakeforce-only WoL gateway with direct port mapping

Features

  • Automatic Wake-on-LAN β€” Magic packets sent when sleeping servers receive traffic
  • SSL / HTTPS β€” Full SSL termination with Let's Encrypt support
  • Multi-domain β€” Route unlimited domains to different backend servers
  • Multi-platform β€” Native Docker images for AMD64 and ARM64 (Raspberry Pi, Synology, QNAP)
  • One-command install β€” Interactive setup generates all configuration automatically
  • Professional waiting screen β€” Visitors see a polished status page with real-time health checks

Requirements

  • Docker with Compose v2
  • curl for installation
  • A server that supports Wake-on-LAN (most modern servers do)
  • For Wakeforce: a device on the same LAN as the target servers (e.g., Raspberry Pi)

Configuration

After installation, configuration is managed through the .env file:

DOMAIN_1_HOSTNAME=app.example.com
DOMAIN_1_IP=192.168.1.50
DOMAIN_1_PORT=3080
DOMAIN_1_USE_SSL=yes
DOMAIN_1_CONFIG=wakeforce
DOMAIN_1_IDLE_SERVICE=wakeforce_1:8182
DOMAIN_1_MAC=D8:9E:F3:12:D0:10
DOMAIN_1_BROADCAST=192.168.1.255
DOMAIN_1_NO_WAKE_PATTERNS=/health|/api/agents/chat/status|/api/agents/chat/active|/api/convos

NO_WAKE_PATTERNS prevents background API polling from waking a sleeping server β€” matching requests return 503 directly instead of triggering Wake-on-LAN. Keep patterns specific to polling endpoints; broad prefixes like /api/agents/ may accidentally block user-initiated requests.

Multiple domains are supported via the DOMAIN_{i}_* pattern.

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Docker Host (e.g., Raspberry Pi)        β”‚
β”‚                                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  reverse-proxy   β”‚  β”‚  wakeforce   β”‚  β”‚
β”‚  β”‚  (nginx)         │──│  (gateway)   β”‚  β”‚
β”‚  β”‚  :80 :443        β”‚  β”‚  WoL + UI    β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚         β”‚ bridge            β”‚ macvlan    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚                   β”‚
    β”Œβ”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”
    β”‚  Internet β”‚     β”‚  LAN (WoL)  β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Power savings

A typical homelab server draws 100-200W when idle. With idle-less, it sleeps when not in use:

Without idle-less With idle-less
Idle draw ~120W (server) ~5W (Raspberry Pi)
Annual cost (@ €0.30/kWh) €315/year €13/year
Savings ~€300/year

The Wakeforce license pays for itself within weeks.

Pricing

The reverse proxy is free and open source (MIT license).

The Wakeforce Wake-on-LAN gateway requires a one-time license:

Tier Price Servers
Personal €29 Up to 2
Pro €79 Up to 10
Business €199 Unlimited

One-time payment. No subscription. License key delivered instantly.

Buy a license β†’

License

This repository (install scripts, configuration tools, and documentation) is licensed under MIT.

The Wakeforce Docker image (tvup/wakeforce) requires a license key.

Links


Built by Torben IT ApS Β· CVR 39630605

About

Docker reverse proxy with automatic Wake-on-LAN β€” wakes sleeping servers when traffic arrives. Save €300/year per server. πŸ”ŒπŸ’€β†’βš‘

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages