jeffersonmouze/proxywake

By jeffersonmouze

Updated 7 days ago

Wake sleeping devices on your network when they are accessed through a reverse proxy.

Image
Networking
0

2.6K

jeffersonmouze/proxywake repository overview

ProxyWake

Docker Pulls Docker Version License Build Platform

Access it. Wake it.
Wake sleeping devices on your network when they are accessed through a reverse proxy.

Docker Hub → jeffersonmouze/proxywake


What it does

  1. You register a device (domain, IP, MAC address).
  2. Nginx Proxy Manager sends a background wake request when someone visits that domain.
  3. ProxyWake sends a Wake-on-LAN magic packet and optionally shows a waiting page until the device is online.

That's it — no need to keep servers running 24/7 just because they might be accessed.


Features

  • Wake-on-LAN with smart wake (skip if online, cooldown, broadcast)
  • Verified wake with ping/TCP/HTTP status checks and job polling
  • Multiple wake methods: WOL, SSH, webhook, Home Assistant, IPMI
  • Device dependencies — wake chain with circular-detection
  • Adaptive wake timeout based on historical boot times
  • Web UI — devices, groups, logs, statistics, settings
  • NPM / Traefik / Caddy / Home Assistant integration snippets
  • Waiting page with auto-redirect (/waiting?domain=...)
  • Webhooks, scheduled wake, export/import, full backup/restore
  • OpenAPI docs at /api/docs with scoped API keys
  • Slack & Telegram notifications on wake events
  • Password protection, API key auth, audit log, rotating logs

Installation

Pull the image from Docker Hub and run it:

docker run -d \
  --name proxywake \
  --restart unless-stopped \
  --cap-add NET_RAW \
  -p 8462:5001 \
  -e PROXYWAKE_PASSWORD=YourSecurePassword \
  -v proxywake_data:/app/backend/data \
  jeffersonmouze/proxywake:latest

Open http://<server-ip>:8462 — a setup wizard walks you through the initial configuration.

Docker Compose:

curl -O https://raw.githubusercontent.com/jeffreymooiweer/ProxyWake/main/docker-compose.yml
PROXYWAKE_PASSWORD=YourSecurePassword docker compose up -d
Build locally
git clone https://github.com/jeffreymooiweer/ProxyWake.git
cd ProxyWake/docker
cp .env.example .env   # edit password
docker compose up -d --build

Docker Hub

Imagejeffersonmouze/proxywake
Tagslatest, 4.1, 4.1.0, 4.0, 4.0.0
Architectureslinux/amd64, linux/arm64
Unraid
SettingValue
Repositoryjeffersonmouze/proxywake:latest
Port8462:5001
Extra Parameters--cap-add=NET_RAW
VariablePROXYWAKE_PASSWORD
Path/mnt/user/appdata/proxywake/app/backend/data

Nginx Proxy Manager

After starting ProxyWake:

  1. Open the Integration tab in the UI.
  2. Copy the global config into NPM (server_proxy.conf).
  3. Add the per-host snippet under Advanced for each proxy host.
  4. Test from the UI.

ProxyWake must be reachable from your NPM container on the local network (use the host IP, not localhost).


Environment variables

VariableDescription
PROXYWAKE_PASSWORDWeb UI password (recommended)
PROXYWAKE_API_KEYFixed API key for NPM (auto-generated if unset); supports scopes via Settings
PROXYWAKE_SECRET_KEYFlask session secret and credential encryption key
PROXYWAKE_ALLOWED_ORIGINSCORS origins (comma-separated)
PROXYWAKE_DATA_DIRData directory (default: /app/backend/data)

Documentation


License

MIT — see LICENSE.

Tag summary

Content type

Image

Digest

sha256:40a384f57

Size

77.9 MB

Last updated

7 days ago

docker pull jeffersonmouze/proxywake