Installation
Choose the parts of WakeLink you need: Android client, ESP32 firmware, CLI tooling, or a full self-hosted relay deployment.
Android App
Requirements:
- Android 7.0 (API 24) or higher
- Internet connectivity (mobile data or WiFi)
- ~12 MB free storage
1Download APK
Visit the Downloads page on your Android device and tap Download APK. Wait for the download to complete.
Download APK2Enable installation from unknown sources
Open your file manager and locate the downloaded wakelink.apk. Tap the file — Android will prompt you to allow installation from unknown sources. Go to Settings → Security → Install Unknown Apps, enable it for your browser or file manager.
3Install and launch
Return to the file manager and tap Install. Once installed, open WakeLink from your app drawer, tap Sign In or Create Account, grant network permissions, and your registered devices will appear on the home screen.
First Launch Tip: Make sure to grant network permissions when prompted — the app needs internet access to communicate with WakeLink agents.
Build from Source
Build the Android app yourself from the public repository.
1Install prerequisites
- Android Studio (latest stable)
- JDK 17 or higher
- Android SDK with API level 26+
2Clone and build
git clone https://github.com/wakelink/android.git
cd android
# Build release APK
./gradlew assembleRelease
# APK output: app/build/outputs/apk/release/3Install on device
# Via ADB
adb install app/build/outputs/apk/release/app-release.apkYou will need to sign the APK with your own keystore for distribution. See the Android developer documentation for signing instructions.
ESP32 Firmware
Prerequisites:
- Python 3.7+ — Download Python
- esptool — installed via pip (see below)
- USB cable (Micro-USB or USB-C depending on your board)
- Supported board: ESP32-WROOM-32, ESP32-DevKitC, NodeMCU-32S, or similar
1Install esptool
pip install esptool
# Confirm the install
esptool.py version
# Expected: esptool.py v4.x.x2Download firmware
Grab the latest wakelink-esp32.bin from the Downloads page.
3Erase and flash
# Step 1: Erase existing flash (recommended for clean install)
esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
# Step 2: Flash the WakeLink firmware
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 \
write_flash 0x0 wakelink-esp32.bin
# Windows users — replace /dev/ttyUSB0 with your COM port, e.g.:
esptool.py --chip esp32 --port COM3 --baud 460800 \
write_flash 0x0 wakelink-esp32.binIf flashing fails, hold the BOOT button on the ESP32 while running the flash command, releasing it once output begins.
After a successful flash, the ESP32 reboots and broadcasts a WakeLink-Setup-XXXX WiFi hotspot for initial configuration. See First Agent Setup for the next steps.
Self-Hosted Server
Run your own WakeLink backend instead of using the hosted cloud service. Requires a server or VPS reachable from the internet.
Requirements:
- Python 3.10+
- Git
- A publicly reachable server (VPS, home server with port forwarding, etc.)
- Optional: PostgreSQL or SQLite (SQLite used by default)
Pre-built Binary (Python/uvicorn)
1Clone and install
git clone https://github.com/wakelink/relay-ce.git
cd relay-ce
# Create a virtual environment
source .venv/bin/activate # Linux / macOS
# .venv\Scripts\activate.bat # Windows
pip install -r requirements.txt2Configure environment
cp .env.example .env
# Edit .env with your settings:
WAKELINK_SECRET_KEY=your-secret-key-here
WAKELINK_DATABASE_URL=sqlite:///./wakelink.db
WAKELINK_REDIS_URL=redis://redis:***@wakelink-postgres:5432/wakelink3Launch services
# Run the deployer (clones all service repos and starts containers)
./install.sh
# Check relay server logs
docker logs -f wakelink-relay
# Verify all services are running
docker psSee the Self-Hosted guide for full SSL/TLS, database, and security configuration.
CLI Tool
The WakeLink CLI lets you manage agent entries and send commands from the terminal.
1Install
pipx install wakelink-cli
# or
pip install wakelink-cli
wakelink --help2Register an agent
# Local TCP agent
wakelink add desk --ip 192.168.1.50 --token "$AGENT_TOKEN"
# Cloud relay entry
wakelink register esp32-cloud --token "$AGENT_TOKEN" --mode cloud --api-url https://wakelink-project.org/api/v13Run commands
wakelink list
wakelink ping desk
wakelink info desk
wakelink wake desk AA:BB:CC:DD:EE:FF4Use account commands (optional)
export WAKELINK_SERVER=https://wakelink-project.org
export WAKELINK_TOKEN=wl_xxxxxxxxxxxxxxxxxxxx
wakelink account info
wakelink account telegram-link