{"id":35197981,"url":"https://github.com/tvup/idle-less","last_synced_at":"2026-03-10T03:01:23.151Z","repository":{"id":330936725,"uuid":"1124427898","full_name":"tvup/idle-less","owner":"tvup","description":"Idle-less keeps services reachable even when backend servers sleep. An always-on gateway and reverse proxy that detects sleeping backends, triggers wake-up actions, and guides clients through warm-up — without changing application code.","archived":false,"fork":false,"pushed_at":"2026-02-28T22:32:52.000Z","size":41,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-28T22:54:26.266Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tvup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-29T02:20:51.000Z","updated_at":"2026-02-28T21:48:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tvup/idle-less","commit_stats":null,"previous_names":["tvup/idle-less"],"tags_count":62,"template":false,"template_full_name":null,"purl":"pkg:github/tvup/idle-less","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvup%2Fidle-less","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvup%2Fidle-less/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvup%2Fidle-less/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvup%2Fidle-less/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tvup","download_url":"https://codeload.github.com/tvup/idle-less/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvup%2Fidle-less/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30322648,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T01:36:58.598Z","status":"online","status_checked_at":"2026-03-10T02:00:06.579Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-29T08:18:37.126Z","updated_at":"2026-03-10T03:01:23.144Z","avatar_url":"https://github.com/tvup.png","language":"Shell","funding_links":[],"categories":["Container Operations","Software and Tools","Projects"],"sub_categories":["Reverse Proxy","Other tools"],"readme":"# idle-less\n\n[![Docker Pulls (reverse-proxy)](https://img.shields.io/docker/pulls/tvup/reverse-proxy?label=reverse-proxy%20pulls)](https://hub.docker.com/r/tvup/reverse-proxy)\n[![Docker Pulls (wakeforce)](https://img.shields.io/docker/pulls/tvup/wakeforce?label=wakeforce%20pulls)](https://hub.docker.com/r/tvup/wakeforce)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n**Your servers sleep. Traffic wakes them.**\n\nA Docker-based reverse proxy with built-in Wake-on-LAN. Visitors hit your domain, the server boots automatically, and traffic flows — all in seconds.\n\n## How it works\n\n```\nInternet → idle-less (reverse proxy) → Backend server\n                 ↓ (if server is sleeping)\n            Wakeforce gateway\n                 ↓\n            Sends Wake-on-LAN packet\n                 ↓\n            Server boots → traffic flows\n```\n\n1. Traffic arrives at your domain\n2. idle-less checks if the backend server is online\n3. If offline, Wakeforce sends a Wake-on-LAN magic packet\n4. Visitors see a professional waiting screen while the server boots\n5. Once online, traffic is proxied seamlessly\n\n## Quick start\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/tvup/idle-less/master/install.sh | bash\n```\n\nThe interactive installer will guide you through:\n- Domain and backend configuration\n- SSL certificate setup (Let's Encrypt compatible)\n- Wakeforce Wake-on-LAN settings\n- Docker Compose generation\n\n### Docker images\n\n```bash\ndocker pull tvup/reverse-proxy:latest\ndocker pull tvup/wakeforce:latest\n```\n\n### Installation modes\n\n| Mode | Command | Description |\n|------|---------|-------------|\n| Reverse proxy + Wakeforce | `bash install.sh --wakeforce` | Full setup with WoL |\n| Reverse proxy only | `bash install.sh` | Proxy without WoL |\n| Wakeforce standalone | `bash install.sh --wakeforce-only` | WoL gateway with direct port mapping |\n\n## Features\n\n- **Automatic Wake-on-LAN** — Magic packets sent when sleeping servers receive traffic\n- **SSL / HTTPS** — Full SSL termination with Let's Encrypt support\n- **Multi-domain** — Route unlimited domains to different backend servers\n- **Multi-platform** — Native Docker images for AMD64 and ARM64 (Raspberry Pi, Synology, QNAP)\n- **One-command install** — Interactive setup generates all configuration automatically\n- **Professional waiting screen** — Visitors see a polished status page with real-time health checks\n\n## Requirements\n\n- Docker with Compose v2\n- `curl` for installation\n- A server that supports Wake-on-LAN (most modern servers do)\n- For Wakeforce: a device on the same LAN as the target servers (e.g., Raspberry Pi)\n\n## Configuration\n\nAfter installation, configuration is managed through the `.env` file:\n\n```env\nDOMAIN_1_HOSTNAME=app.example.com\nDOMAIN_1_IP=192.168.1.50\nDOMAIN_1_PORT=3080\nDOMAIN_1_USE_SSL=yes\nDOMAIN_1_CONFIG=wakeforce\nDOMAIN_1_IDLE_SERVICE=wakeforce_1:8182\nDOMAIN_1_MAC=D8:9E:F3:12:D0:10\nDOMAIN_1_BROADCAST=192.168.1.255\n```\n\nMultiple domains are supported via the `DOMAIN_{i}_*` pattern.\n\n## Architecture\n\n```\n┌──────────────────────────────────────────┐\n│  Docker Host (e.g., Raspberry Pi)        │\n│                                          │\n│  ┌─────────────────┐  ┌──────────────┐  │\n│  │  reverse-proxy   │  │  wakeforce   │  │\n│  │  (nginx)         │──│  (gateway)   │  │\n│  │  :80 :443        │  │  WoL + UI    │  │\n│  └─────────────────┘  └──────────────┘  │\n│         │ bridge            │ macvlan    │\n└─────────┼───────────────────┼────────────┘\n          │                   │\n    ┌─────┴─────┐     ┌──────┴──────┐\n    │  Internet │     │  LAN (WoL)  │\n    └───────────┘     └─────────────┘\n```\n\n## Power savings\n\nA typical homelab server draws 100-200W when idle. With idle-less, it sleeps when not in use:\n\n| | Without idle-less | With idle-less |\n|--|---|---|\n| Idle draw | ~120W (server) | ~5W (Raspberry Pi) |\n| Annual cost (@ €0.30/kWh) | €315/year | €13/year |\n| **Savings** | | **~€300/year** |\n\nThe Wakeforce license pays for itself within weeks.\n\n## Pricing\n\nThe reverse proxy is **free and open source** (MIT license).\n\nThe Wakeforce Wake-on-LAN gateway requires a one-time license:\n\n| Tier | Price | Servers |\n|------|-------|---------|\n| Personal | €29 | Up to 2 |\n| Pro | €79 | Up to 10 |\n| Business | €199 | Unlimited |\n\nOne-time payment. No subscription. License key delivered instantly.\n\n**[Buy a license →](https://tvup.github.io/idle-less/#pricing)**\n\n## License\n\nThis repository (install scripts, configuration tools, and documentation) is licensed under [MIT](LICENSE).\n\nThe **Wakeforce** Docker image (`tvup/wakeforce`) requires a [license key](https://tvup.github.io/idle-less/#pricing).\n\n## Links\n\n- [Landing page](https://tvup.github.io/idle-less/) — product overview and pricing\n- [Live demo](https://tvup.github.io/idle-less/demo.html) — simulated Wakeforce boot sequence\n- [Changelog](CHANGELOG.md) — release history and what's new\n- [Security policy](SECURITY.md) — vulnerability reporting\n\n---\n\nBuilt by [Torben IT ApS](mailto:info@torbenit.dk) · CVR 39630605\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftvup%2Fidle-less","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftvup%2Fidle-less","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftvup%2Fidle-less/lists"}