selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
gptwol logo

Self-host gptwol

7.1.6

Docker GUI for Wake and Sleep on LAN

ReleaseOpen SourceMIT
docker run -d --name=gptwol --network="host" --restart unless-stopped -e PORT=5000 -e TZ=Europe/Paris -v ./appdata/db:/app/db -v ./appdata/cron:/etc/cron.d misterbabou/gptwol:latest
Updated11 hours ago
LanguageHTML
Setup difficultyEasy
MobileResponsive
ThemeDark mode
Stars
384
RAM
20 MB
Port
5000 (Web UI)
Docker
misterbabou/gptwol
GPTWOL web interface in light modeGPTWOL web interface in dark modeGPTWOL mobile view in light modeGPTWOL mobile view in dark mode

What is gptwol?

GPTWOL is a lightweight Python-based web GUI for managing Wake-on-LAN and Sleep-on-LAN operations on your local network. It provides a Docker image for easy deployment, supports both light and dark themes, offers optional authentication (local or OIDC), includes cron-based scheduling for automatic wakeups, ARP scanning to discover devices, and status checking via ping, ARP, or TCP. The app runs in host network mode and uses a SQLite database for persistence.

Should you self-host gptwol?

gptwol scores 49/100 on selfhost.directory (how scoring works) and ranks #14 of 20 in Network Utilities. It has 384 GitHub stars.

It shipped 5 stable releases in the past year. The latest, 7.1.6, came out on 30 July 2026. New versions land roughly every 2 months.

Setup is easy: most people get it running in one sitting. An official Docker image is available. It is MIT-licensed and written mostly in HTML.

Its closest alternative on selfhost.directory is MyIP (75/100, 12 241 stars). It scores higher overall, so compare the two before you pick. See gptwol vs MyIP side by side.

Features

  • ARP Scanning
  • Authentication
  • Cron Scheduling
  • Device Management
  • Low Resource Usage
  • Search
  • Status Checking
  • Wake-on-LAN

gptwol README

How to install gptwol

Install gptwol with Docker

Docker installed; host network mode required

Run the application

docker run -d \
  --name=gptwol \
  --network="host" \
  --restart unless-stopped \
  -e PORT=5000 \
  -e TZ=Europe/Paris \
  -v ./appdata/db:/app/db \
  -v ./appdata/cron:/etc/cron.d \
  misterbabou/gptwol:latest

Requires host network mode for Wake-on-LAN to work

How to configure gptwol

  • ARP_INTERFACEARP interface for scan and test

    ARP interface for scan and test

    values: Interface name (e.g. eth0)

  • ARP_TIMEOUT300Time to wait for ARP answer

    Time to wait for ARP answer

    values: Milliseconds

  • ENABLE_ADD_DELtrueEnable add/delete computer buttons

    Enable add/delete computer buttons

    values: true, false

  • ENABLE_L2_WOL_PACKETfalseEnable L2 WOL packet instead of L4

    Enable L2 WOL packet instead of L4

    values: true, false

  • ENABLE_LOGINfalseEnable local authentication

    Enable local authentication

    values: true, false

  • ENABLE_REFRESHtrueEnable automatic status refresh

    Enable automatic status refresh

    values: true, false

  • IP0.0.0.0App listening IP address

    App listening IP address

    values: IPv4 or IPv6 address (e.g. [::])

  • L2_INTERFACEeth0Default interface for L2 WOL

    Default interface for L2 WOL

    values: Interface name

  • LOG_LEVELINFOLog level

    Log level

    values: DEBUG, INFO, WARN, ERROR

  • OIDC_CLIENT_IDOIDC client ID

    OIDC client ID

    values: String

  • OIDC_CLIENT_SECRETOIDC client secret

    OIDC client secret

    values: String

  • OIDC_ENABLEDfalseEnable OIDC authentication

    Enable OIDC authentication

    values: true, false

  • OIDC_ISSUEROIDC server base URL

    OIDC server base URL

    values: URL without /.well-known/openid-configuration

  • OIDC_REDIRECT_URIGPTWOL instance base URL for OIDC callback

    GPTWOL instance base URL for OIDC callback

    values: http(s)://url:port

  • PASSWORDadminLocal auth password

    Local auth password

    values: Any string

  • PING_TIMEOUT300Time to wait for ping answer

    Time to wait for ping answer

    values: Milliseconds

  • PORT5000Web UI port

    Web UI port

    values: Any free port on host

  • REFRESH_INTERVAL30Time between status checks

    Time between status checks

    values: Seconds

  • SCRIPT_NAMERun app under a subpath prefix

    Run app under a subpath prefix

    values: Path string (e.g. /my-app)

  • TCP_TIMEOUT1Time to wait for TCP check

    Time to wait for TCP check

    values: Seconds

  • TZUTCTimezone for Cron

    Timezone for Cron

    values: Any valid timezone (e.g. Europe/Paris)

  • USERNAMEadminLocal auth username

    Local auth username

    values: Any string

gptwol releases & version history

FAQ

Is there a GUI to configure automatic wakeup and shutdown?

Automatic wakeup and shutdown are configured in the GUI using cron syntax. The project does not provide a calendar-based GUI for scheduling.

More in Network Utilities

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…