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
- Server IP — Your LAN IP (auto-detected). Used for the access URL.
- Port — Default is 5050. Change if that port is in use.
- 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
- Open your DeQ URL in a browser
- Click the pencil icon (top right) to enter edit mode
- Click + to add links or devices
- Click existing items to edit them
- Drag items to reorder
- Click the eye icon to hide sections you don't need
- Scroll down to customize the theme
The server running DeQ is automatically added as "Host" with local system stats.
Adding Links
Links are bookmarks to your services. Each link has a name, URL, and icon.
Icon Options
| Format | Example | Description |
|---|---|---|
| Lucide | server |
Default icon set. See lucide.dev/icons |
| Dashboard Icons | dash:proxmox |
App icons. See dashboardicons.com |
| Custom URL | https://... |
Any image URL |
Layout Options
Click the layout button next to "Links" to cycle through arrangements: eco, 1, 2, 4 columns.
Click the palette icon to toggle monochrome mode for all icons.
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