Skip to content
forked from deqrocks/deq

Homelab admin deck for low-power devices. A small footprint dashboard with zero dependencies, that can live on your low power host alongside Pi-Hole.

License

Notifications You must be signed in to change notification settings

anvilcomputing/deq

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeQ

Homelab admin deck for low-power devices.

A small footprint dashboard with zero dependencies, that can live on your low power host alongside Pi-Hole.

Website: deq.rocks · Support: Patreon

DeQ Screenshot

Concept

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, an old laptop. These devices give you always-on access to your homelab via Tailscale or LAN, without the overhead of a full server.

Docker would require a host capable of running Docker in the first place, plus workarounds for features that need direct hardware access: Wake-on-LAN requires raw sockets, the file manager needs your filesystem, SSH and rsync run as host processes, and shutdown commands don't work from inside a container.

This comes with responsibility.

DeQ runs as root and has direct access to your system. That's what makes features like WOL, file transfers, and remote shutdown possible – but it also means you should never expose it to the public internet.

  • Use Tailscale or another VPN for remote access
  • Only run DeQ on trusted networks

Features

  • Quick Links — Bookmarks to your services with custom icons (Lucide or Dashboard Icons)
  • 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
  • Theming — Custom colors, wallpapers, and glass/blur effects
  • PWA Support — Install as an app on any device

Installation

wget https://github.com/deqrocks/deq/releases/download/stable/deq.zip
unzip deq.zip -d deq && cd deq
sudo ./install.sh

The installer asks a few questions (IP, port) and gives you your access URL.

Getting Started

  1. Open your DeQ URL in a browser
  2. Click the pencil icon (top right) to enter edit mode
  3. Click + to add links or devices
  4. Click existing items to edit them
  5. Drag links or devices to reorder them
  6. Click the layout button (eco/1/4/2/4/4/4) to change link arrangement
  7. Click the eye icon to hide sections you don't need
  8. Click the palette icon to toggle monochrome icons
  9. 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.

Icons

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.

Adding Devices

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 Start/stop containers, with optional RDP/VNC/Web buttons
SSH Enables stats and shutdown for remote devices

Understanding IP addresses

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)

Connecting via SSH (optional)

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'

Remote Access

DeQ has no built-in authentication. For secure remote access, use Tailscale or another VPN. Access DeQ via your Tailscale IP.

Scheduled Tasks

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.

File Manager

Click the folder icon (top right) to open the dual-pane file manager. Browse files on any device with SSH configured.

Features:

  • Copy and move files between devices
  • Upload files (button or drag & drop)
  • Delete files
  • 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

Theming

In edit mode, scroll down to the Theme section to customize the look:

Setting Description
Colors Background, cards, borders, text, accent color
Glass 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.

Service Commands

sudo systemctl status deq     # Check status
sudo systemctl restart deq    # Restart
sudo journalctl -u deq -f     # View logs

Data Storage

All data is stored in /opt/deq/config.json. To backup: just copy config.json. To restore: copy it back and restart.

Updating

To update DeQ, download the latest release and run the installer again:

wget https://github.com/deqrocks/deq/releases/download/stable/deq.zip
unzip deq.zip -d deq && cd deq
sudo ./install.sh

Your config.json is preserved — the installer only overwrites server.py.

Uninstall

sudo systemctl stop deq
sudo systemctl disable deq
sudo rm /etc/systemd/system/deq.service
sudo rm -rf /opt/deq
sudo systemctl daemon-reload

Or 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-reload

License

CC BY-NC 4.0 — Free for personal use, no commercial use without permission. See LICENSE.

Credits

About

Homelab admin deck for low-power devices. A small footprint dashboard with zero dependencies, that can live on your low power host alongside Pi-Hole.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.4%
  • Shell 1.6%