Documentation

Installation

Run these three commands to install DeQ:

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

What the installer asks

  1. Server IP — Your LAN IP (auto-detected). Used for the access URL.
  2. Port — Default is 5050. Change if that port is in use.
  3. Authentication mode
    • No auth — Anyone with network access can use DeQ. Only use this behind a VPN (Tailscale, WireGuard) or on a trusted network.
    • Token — Generates a secret URL token. Required for public access (e.g., Cloudflare Tunnel).

What the installer does

Step What happens
Create directories Creates /opt/deq/ for the application and fonts
Copy files Copies server.py and fonts to /opt/deq/
Create systemd service Installs /etc/systemd/system/deq.service so DeQ starts automatically on boot and restarts on crash
Create initial config Creates /opt/deq/config.json with your host device pre-configured
Start service Enables and starts the DeQ service

Security notes

  • DeQ runs as root — Required for Wake-on-LAN (raw sockets), SSH to other devices, and reading system stats. The service is sandboxed via systemd.
  • No external connections — DeQ only listens on your configured port. It doesn't phone home or connect to any external servers.
  • Config is local — All settings are stored in /opt/deq/config.json. No cloud, no accounts.
  • Token auth — When enabled, a random token is generated and stored in /opt/deq/.token. Without this token in the URL, access is denied.

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 items to reorder
  6. Click the eye icon to hide sections you don't need
  7. Scroll down to customize the theme

The server running DeQ is automatically added as "Host" with local system stats.

Adding Devices

Devices represent machines on your network. Each device can have:

Feature Description
Wake-on-LAN Power on the device remotely (requires MAC address)
Quick Connect Buttons for RDP, VNC, or web interfaces
Docker Start/stop containers with optional connection buttons
SSH Enables stats display and remote shutdown

IP Address Configuration

Local IP (in device settings): Your LAN IP (e.g., 192.168.x.x). Used by DeQ for Wake-on-LAN, SSH, and ping checks.

Quick Connect IPs: The IP your browser uses to connect. Use LAN IPs at home, or Tailscale IPs for remote access.

Example with Tailscale:

  • Device Local IP: 192.168.1.100 (for WOL/SSH)
  • Docker VNC: 100.x.x.x:8006 (Tailscale IP for remote access)

File Manager

Click the folder icon (top right) to open the dual-pane file manager.

Features

  • Copy and move files between devices
  • Upload via button or drag & drop
  • Download files directly
  • Create zip archives
  • Rename and delete files

Navigation

  • Click to select a file
  • Double-click to open folders
  • Drag files from your desktop to upload

The file manager requires SSH access to remote devices.

Scheduled Tasks

Automate recurring operations:

  • 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, then shut it down automatically.

Theming

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

Setting Description
Colors Background, cards, borders, text, accent
Glass Card transparency (0-100%)
Blur Background blur amount (0-30px)
Wallpaper Image URL or local file path

Wallpaper Options

  • Remote: https://example.com/image.jpg
  • Local: /home/user/wallpaper.jpg

Click "Reset to Defaults" to restore the original dark theme.

Remote Access

Tailscale (Recommended)

Tailscale creates a secure VPN between your devices. During installation, choose "No auth" and access DeQ via your Tailscale IP.

Cloudflare Tunnel

For public URL access:

cloudflared tunnel --url http://localhost:5050

Use token authentication for security.

SSH Setup

SSH access is optional but enables stats display and remote shutdown for devices.

# Generate a key (skip if you have one)
ssh-keygen -t ed25519

# Copy to your device
ssh-copy-id user@device-ip

# DeQ runs as root, copy the key there too
sudo cp ~/.ssh/id_ed25519* /root/.ssh/
sudo chmod 600 /root/.ssh/id_ed25519

# Test the connection
sudo ssh user@device-ip 'echo OK'

Service Commands

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

Backup & Restore

All data is stored in /opt/deq/:

  • config.json — Links, devices, and settings
  • .token — Access token (if using authentication)

Backup: Copy config.json to a safe location.

Restore: Copy it back and restart DeQ.

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 a 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