- Full file manager. Task and Backup scheduling. Container control. Push alerts to your phone
- Vanilla code. No dependencies. One Python file 300KB. 20MB RAM
Website: deq.rocks · FAQ: deq.rocks/faq · Reddit: r/LowPowerHomelab · Support: Patreon
- The server.py lives on your server. It offers access to DeQ's dashboard via your browser. It wraps SSH commands into a User interface.
- The Android companion app connects to that server.py and polls it for stats.
- By using a VPN like Tailscale you can remote control or schedule your machines from anywhere and get reliable notifications by setting alert thresholds.
- Neither the server.py, nor the app ever phone home or collect your data.
- The server.py runs SSH commands as root. Hide it behind a VPN! Do not expose to public internet!
- For controlling other devices in your network you MUST exchange keypairs first. Please exactly follow the instructions when running the install.sh.
- Android Companion app - free app for your smartphone to manage your servers or get notified when things go wrong
- Device Control - Wake-on-LAN, shutdown, Docker start/stop
- Scheduled Tasks - Automated backups, wake and shutdown
- File Manager - Dual-pane file browser, copy/move/upload between devices
- System Stats - CPU, RAM, temperature, disk usage
- Quick Links - Bookmarks to your services with custom icons (Lucide or Dashboard Icons)
- Theming - Custom colors, wallpapers, and transparency/blur effects
- PWA Support - Install as web app on any desktop or smartphone
Native companion app with background monitoring and push notifications when devices go offline, containers stop, or backups fail.
DeQ Pro adds custom polling intervals, widgets, live wallpaper, screen saver with CPU load visualization, and Android Auto. Your purchase keeps this project alive as a full-time effort.
DeQ runs bare metal, not in Docker.
It's designed for low-power devices that are already online 24/7 - a Pi, a mini PC, even a WRT router. These give you always-on access to your homelab via Tailscale or LAN, without the overhead of a full server.
Docker would negate its own isolation benefits while adding overhead. To provide actual system control, a containerized DeQ would need host networking, Docker socket access, privileged mode, and volume mounts for every path - at that point, you're running a "container" with full host access anyway, just with extra steps.
DeQ stays up when everything else breaks.
When your Docker daemon crashes, when an update borks the container network, when Portainer can't reach its own backend - your containerized dashboard goes down with the ship. DeQ, running as a simple systemd service, is often still reachable when everything else is on fire.
Yes, it runs as root. Here's why that's okay.
The security model is "trusted tool on a trusted network." DeQ assumes you're behind a VPN (Tailscale, WireGuard). The code is auditable - all 300KB of it. A technically competent user can read exactly what DeQ does in an afternoon. Compare that to trusting a 200MB Docker image with layers of abstraction you'll never inspect.
- Never expose DeQ to the public internet
- Use Tailscale, WireGuard, or another VPN for remote access
wget https://github.com/deqrocks/deq/releases/latest/download/deq.zip
unzip deq.zip -d deq && cd deq
sudo ./install.shThe installer asks a few questions (IP, port) and gives you your access URL.
- Open your DeQ URL in a browser (like 192.168.1.1:5050)
- Follow the onboarding wizard to scan your network for devices and containers
- Click the pencil icon to edit existing items or to add devices manually
- Add links and notes - assign icons
- Drag links or devices to reorder them
- Click the layout button (eco/1/4/2/4/4/4) to change link arrangement
- Click the eye icon to hide sections you don't need
- Click the palette icon to toggle monochrome icons
- Scroll down to the Theme section to customize colors and wallpaper
The server running DeQ is automatically added as the "Host" device with local stats.
Links and devices support three icon sources:
| Format | Example | Description |
|---|---|---|
| Lucide | server |
Default. See lucide.dev/icons |
| Dashboard Icons | dash:proxmox |
Self-hosted app icons. See dashboardicons.com |
| Custom URL | https://... |
Any image URL |
In edit mode, click the palette icon next to "Links" to toggle monochrome mode for all icons.
Manually
You can manually add devices by activating the edit mode > go to the devices section > click "+". After you added the device you can manually add containers or scan for containers running on that device.
Using the Wizard
You can automatically add devices and containers by using the wizard: activate edit mode > go to the devices section > click "scan". Add your devices and SSH user name. Next step it will scan for Docker containers. Make sure to have ssh keypairs exchanged for that to work.
Each device can have:
| Feature | What it does |
|---|---|
| Wake-on-LAN | Power on the device remotely |
| Quick Connect | Buttons for RDP, VNC, or web interfaces |
| Docker | Scan for containers or add manually, start/stop, optional RDP/VNC/Web buttons |
| SSH | Enables stats and shutdown for remote devices |
DeQ uses different IPs for different purposes:
-
Local IP (device settings): Always your LAN IP (192.168.x.x). Used by the DeQ server for Wake-on-LAN, SSH connections, and ping checks.
-
Quick Connect / Docker IPs: These are for your browser/phone to connect. Use LAN IPs when at home, or Tailscale IPs when accessing remotely.
Example with Tailscale:
- Device Local IP:
192.168.1.100(for WOL/SSH) - Docker VNC:
100.x.x.x:8006(Tailscale IP, so VNC works from anywhere)
To see stats or shutdown remote devices, DeQ needs SSH access. This is optional - devices without SSH still work for Wake-on-LAN and links.
Quick setup:
# Generate a key (skip if you already have one)
ssh-keygen -t ed25519
# Copy it to your device
ssh-copy-id user@device-ip
# DeQ runs as root, so copy the key there too
sudo cp ~/.ssh/id_ed25519* /root/.ssh/
sudo chmod 600 /root/.ssh/id_ed25519
# Test it
sudo ssh user@device-ip 'echo OK'Enable passwordless sudo for shutdown (if needed on target devices):
DeQ uses sudo systemctl poweroff to power off remote devices. If shutdown doesn't work, the SSH user may need passwordless sudo. Run this on the target device:
echo "$USER ALL=(ALL) NOPASSWD: /usr/bin/systemctl poweroff" | sudo tee /etc/sudoers.d/deq-shutdown
sudo chmod 440 /etc/sudoers.d/deq-shutdownThis grants access only to the poweroff command, nothing else.
DeQ has no built-in authentication. For secure remote access, use Tailscale or another VPN. Access DeQ via your Tailscale IP.
DeQ can run tasks automatically:
- Wake - Power on a device or start a Docker container
- Shutdown - Power off a device or stop a Docker container
- Backup - Sync files between devices using rsync
Example workflow: Wake your NAS at 3 AM, run a backup from your main server, shut it down when done.
Click the folder icon (top right) to open the dual-pane file manager. Browse files on any device with SSH configured. File Manager will also work on your smartphone. BE CAREFUL with what you're doing in the root folder!
Features:
- Copy and move files between devices
- Upload files (button or drag & drop)
- Delete files
- Create new Folders
- Create zip archives (or tar.gz as fallback)
- Download individual files
Navigation:
- Click to select (single pane only)
- Double-click to open folders
- Drag files from your desktop to upload
In edit mode, scroll down to the Theme section to customize the look:
| Setting | Description |
|---|---|
| Colors | Background, cards, borders, text, accent color |
| Transparency | Transparency effect for cards (0-100%) |
| Blur | Background blur amount (0-30px) |
| Wallpaper | Background image URL (https://...) |
Click "Reset to Defaults" to restore the original dark theme.
Get notified when something goes wrong - even when you're not home. The app monitors your homelab in the background and alerts you when devices go offline, containers stop, or backups fail.
Native Android apps for DeQ - faster startup, background notifications, no browser needed.
Compatible with Android 8+ - Perfect for repurposing old phones or tablets as wall-mounted status displays.
Download: Google Play · APK on GitHub · Pro on Google Play
| Feature | DeQ (Free) | DeQ Pro (€6.99) |
|---|---|---|
| WebView Dashboard | ✓ | ✓ |
| Background Polling | 30 min | custom |
| Push Notifications | ✓ | ✓ |
| Home Screen Widgets | ✗ | ✓ |
| Lock Screen Widgets | ✗ | ✓ |
| Live Wallpaper | ✗ | ✓ |
| Screen Saver (Daydream) | ✗ | ✓ |
| Android Auto | ✗ | ✓ |
Why a paid version?
Unlike Patreon tiers with "exclusive updates" or "Discord access", the paid app offers real features that take real work to build:
- Custom Polling: Set your own interval - from seconds to hours
- Android Auto: Check your homelab status from your car's dashboard
- Home Screen Widgets: 5 different widget styles - from minimal dots to detailed lists
- Lock Screen Widgets: Same widgets on your lock screen (Android 16+)
- Live Wallpaper: Animated status display as your home screen background
- Screen Saver: Ambient display with BCD clock when charging - perfect for a wall-mounted status display
Your support keeps this project alive as a full-time effort.
DeQ Pro includes 5 widget styles:
| Widget | Description |
|---|---|
| DeQ Less | Minimal colored dots - green/gray for online/offline |
| DeQ List | Scrollable list with device names and stats |
| DeQ Ultra | Q-symbols: rotated = online, normal = offline |
| DeQ Mega | Green squares for online devices only |
| DeQ Containers | Green circles for running containers only |
All widgets support custom background color, transparency, and corner radius.
Turn an old phone into a wall-mounted status display:
- DeQ Live: Animated wallpaper showing device squares and container circles
- DeQ Ambient: Screen saver (Daydream) with BCD binary clock, breathing animations, and drift movement for OLED burn-in protection
Color coding:
- Offline devices: Gray (#666666) - neutral, non-alarming
- Online devices: Color indicates CPU load - green (idle) → orange → red (100% load)
- Stopped containers: Gray circle
- Running containers: Green circle
Both feature pure black backgrounds (#000000) for OLED efficiency and auto-scaling for any number of devices.
Install DeQ as a PWA: Safari → Share → Add to Home Screen. Works like a native app. Native iOS app planned when funding allows.
Install DeQ as a desktop app - no more hunting through browser tabs. One click in your dock or taskbar, and you're in.
Why install as an app?
- Clean window without browser UI
- Lives in your dock/taskbar - always one click away
- No tabs to dig through
- Same interface, instant access
How to install:
| Platform | Steps |
|---|---|
| macOS (Safari) | File → Add to Dock |
| macOS (Chrome) | Menu (⋮) → "Cast, save, and share" → "Install page as app..." |
| Windows (Edge) | Menu (···) → Apps → "Install this site as an app" |
| Windows (Chrome) | Menu (⋮) → "Cast, save, and share" → "Install page as app..." |
| Linux | Chrome → Menu (⋮) → "Cast, save, and share" → "Install page as app..." |
Once installed, DeQ opens in its own window and lives in your dock.
sudo systemctl status deq # Check status
sudo systemctl restart deq # Restart
sudo journalctl -u deq -f # View logsAll data is stored in /opt/deq/config.json. To backup: just copy config.json. To restore: copy it back and restart.
To update DeQ, download the latest release and run the installer again:
wget https://github.com/deqrocks/deq/releases/latest/download/deq.zip
unzip deq.zip -d deq && cd deq
sudo ./install.shYour config.json is preserved - the installer only overwrites server.py.
sudo systemctl stop deq
sudo systemctl disable deq
sudo rm /etc/systemd/system/deq.service
sudo rm -rf /opt/deq
sudo systemctl daemon-reloadOr as single command
sudo systemctl stop deq && sudo systemctl disable deq && sudo rm /etc/systemd/system/deq.service && sudo rm -rf /opt/deq && sudo systemctl daemon-reloadClean up remote devices (optional):
If you configured passwordless sudo for shutdown on target devices, you can remove it:
sudo rm /etc/sudoers.d/deq-shutdownDeQ is provided "as is" without warranty. The authors are not liable for any damages resulting from its use. By installing DeQ, you accept full responsibility for securing your system. See LICENSE for details.
CC BY-NC 4.0 - Free for personal use, no commercial use without permission. See LICENSE.





