Pi or bigger hardware?

DeQ runs on a Pi Zero. That's proof of the architecture, not a recommendation for large setups.

Pi 4 / ZimaBoard class: Recommended. Enough headroom for file transfers, multiple SSH connections, and short polling intervals.

Bigger hardware: Snappier file operations, easier handling of dozens of devices, room for co-running services. But it defeats the low-power philosophy if you don't need it.

If your setup is modest, a Pi keeps electricity costs at $8/year while providing an external control instance that stays up when your main servers go down.

Is DeQ's minimal approach equal to a lack of features?

No. Minimalism here means minimal overhead and dependencies, not minimal features.

Everything lives in one Python file. No pip install, no node_modules, no database. Features are lightweight wrappers around Unix basics: the file manager uses SSH and filesystem calls, backups trigger rsync, scheduling uses the server process itself.

DeQ prioritizes useful raw control without the bloat of modern web stacks.

Why no Docker?

DeQ provides system control: Wake-on-LAN, shutdowns, filesystem access, SSH to remote hosts. A containerized version would need host networking, Docker socket access, privileged mode, and volume mounts for every path. At that point, you've negated every isolation benefit while adding overhead.

Resilience bonus: When Docker crashes, DeQ is still running as a systemd service, still reachable, still letting you fix things.

DeQ runs as root behind a VPN (Tailscale, WireGuard). 350KB of readable code. Trusted tool on a trusted network.

Why JSON instead of YAML or a database?

JSON over YAML: Deterministic. No whitespace sensitivity, no ambiguous type coercion. Python's json module is in the standard library.

No database: DeQ stores devices, tasks, preferences. That's a config file, not a dataset. One config.json you can copy, backup, or version-control.

500KB limit?

Deliberate constraint to prevent scope creep. Every homelab dashboard starts lean and ends bloated. The 500KB limit is a forcing function: features compete for space, only the genuinely useful survive.

The goal: software you install once and forget about because it just works.

Android battery life

Free: 30-minute background polling. Pro: Configurable from seconds to hours.

Real-world testing: under 1% battery over 24 hours at 60-second intervals. At 5-minute intervals, invisible in battery stats. The app is ~1MB, no telemetry. Wakes up, pings server, goes back to sleep.

How can DeQ be so lightweight?

Unix philosophy. DeQ doesn't replace rsync, ssh, or systemctl. It wraps them. The heavy lifting happens in battle-tested Unix tools.

SSH as universal interface. If you can SSH into a device, DeQ can control it. No agents, no proprietary protocols.

No external libraries. Python standard library only. No pip install, no node_modules. DeQ uses what your OS already provides.

The numbers: 350KB total. 82KB Python backend. The complete backend (file manager, Docker control, SSH operations, Wake-on-LAN, task scheduling, backup orchestration) fits in 82KB.

Where does DeQ fit?

DeQ is a control layer, not a dashboard. It doesn't show you things, it does things.

Tool What it is
Heimdall, Homer Link dashboards. Pretty bookmarks. No control.
Homepage, Homarr Feature-rich dashboards. Docker-based, significant resource footprint.
Cockpit, Webmin Full system admin panels. Heavy.
DeQ Lightweight control layer. WoL, shutdowns, file ops, container control, backups. 350KB on a 5W device.

The core value: DeQ stays up when the things it monitors go down. When your Proxmox hangs, DeQ is still running on its dedicated low-power device, still reachable, still letting you fix things.

What about the paid app?

The paid Android app offers a straightforward value exchange: you pay money, you get tangible features.

What the paid version includes

  • Configurable polling intervals (vs. fixed 30min in free)
  • Android Auto integration (stats on your car display)
  • Wear OS support (control your homelab from your wrist)

How to support DeQ

Buy the Pro app. One-time purchase, concrete features, no subscription. You get widgets, Android Auto, custom polling intervals – and you fund development. That's a fair trade.

Become a Patron. Not everyone uses the Play Store, and some people just want to support the project directly. Patreon keeps DeQ sustainable as a full-time effort.

Does DeQ replace Homepage/Homarr?

No. DeQ is complementary. Different tools for different jobs.

Homepage/Homarr: Beautiful dashboards, widgets, service integrations. DeQ: Wake machines, shut them down, transfer files, control containers on remote hosts, schedule backups.

Some users run both. Some minimalists use DeQ alone. They solve different problems.

Development philosophy

  • Single-file, zero dependencies. One server.py, Python standard library only.
  • 500KB limit. Features compete for bytes. Forces hard choices.
  • Unix philosophy. Lightweight wrappers around rsync, SSH, system calls.
  • "Works on a Pi Zero" remains a hard requirement for the core server.

This philosophy applies to the core server. DeQ provides extension points for everything else.

But I need more than the core provides

You get an ultra-lean backbone with full SSH power. How you use it is up to you.

HTTP API: Connect Home Assistant, Tasker, or build custom automations. Full control over devices, containers, files, tasks from any tool that speaks HTTP.

Extension API: Write Python extensions that add custom sections to the web interface. Access device data, execute SSH commands, build custom GUIs. The server provides the infrastructure. You build what you need.

Scripts: Drop shell scripts into /opt/deq/scripts/ and trigger them from the web UI or schedule them.

The point: We keep the core lean and opinionated. We give you the power to make DeQ work for your specific setup. Home Assistant automations, custom Python extensions, scheduled scripts. That's the point.

How do I contribute scripts or extensions?

If you built something useful for your setup, chances are others will find it useful too.

Scripts

Shell scripts that live in /opt/deq/scripts/ and can be triggered from the web UI or scheduled as tasks.

What works well: Backup automation, Docker maintenance, system cleanup, custom monitoring.

How to share: Fork the repository, add your script to /community scripts/, open a PR. Or zip your script and send it to dev@deq.rocks. See contribution.md in that folder for guidelines.

Extensions

Python files that live in /opt/deq/extensions/ and add custom sections to the DeQ web interface. Full access to DeQ's SSH infrastructure and device data.

What works well: Weather widgets, RSS readers, service status dashboards, custom integrations.

How to share: Fork the repository, add your extension to /community extensions/, open a PR. Or zip your extension and send it to dev@deq.rocks. See contribution.md in that folder for guidelines and a template.

Note: Extensions and scripts run with full server privileges. Only install from trusted sources.

Core contributions

PRs welcome for bug fixes, performance improvements, code cleanup. For new core features, open an issue first.

Core server: Features requiring external dependencies or breaking Pi Zero compatibility will be declined. The 500KB single-file constraint is intentional.

Extensions: Want to add functionality? Write an extension. That's what the Extension API is for. No size limits, no dependency restrictions within your extension. Share it in /community extensions/ if others might find it useful.