{"id":34599491,"url":"https://github.com/deqrocks/deq","last_synced_at":"2026-01-16T18:46:12.345Z","repository":{"id":327794321,"uuid":"1111170890","full_name":"deqrocks/deq","owner":"deqrocks","description":"Homelab control plane with native Android app, Wear OS, and Android Auto. SSH-based control from a dashboard. Single Python file. Zero dependencies. Dynamic config. No YAML.","archived":false,"fork":false,"pushed_at":"2026-01-11T22:44:04.000Z","size":4857,"stargazers_count":156,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-11T23:51:25.589Z","etag":null,"topics":["backup-tool","bare-metal","dashboard","deq","file-manager","homarr","homelab","homepage-app","nas","pihole","python","raspberry-pi","scheduled-tasks","self-hosting","ssh-connection","ssh-manager","system-monitor","task-scheduler","wake-on-lan","wol"],"latest_commit_sha":null,"homepage":"https://deq.rocks","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deqrocks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-06T12:14:59.000Z","updated_at":"2026-01-11T22:44:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/deqrocks/deq","commit_stats":null,"previous_names":["deqrocks/deq"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/deqrocks/deq","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deqrocks%2Fdeq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deqrocks%2Fdeq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deqrocks%2Fdeq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deqrocks%2Fdeq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deqrocks","download_url":"https://codeload.github.com/deqrocks/deq/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deqrocks%2Fdeq/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28481180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup-tool","bare-metal","dashboard","deq","file-manager","homarr","homelab","homepage-app","nas","pihole","python","raspberry-pi","scheduled-tasks","self-hosting","ssh-connection","ssh-manager","system-monitor","task-scheduler","wake-on-lan","wol"],"created_at":"2025-12-24T12:08:40.604Z","updated_at":"2026-01-16T18:46:12.338Z","avatar_url":"https://github.com/deqrocks.png","language":"Python","funding_links":["https://patreon.com/deqrocks"],"categories":[],"sub_categories":[],"readme":"# DeQ\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003eYour homelab under control. From anywhere.\u003c/strong\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nA single Python file providing SSH-based control via a web interface,\nconnected to a native Android app, Wear OS, and Android Auto.\n\u003cbr\u003e\u003cbr\u003e\n\u003cstrong\u003eZero dependencies. Dynamic config. No YAML.\u003c/strong\u003e\n\u003c/p\u003e\n\n![DeQ Hero](assets/DeQ-Hero-ambient.jpg)\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://deq.rocks\"\u003eWebsite\u003c/a\u003e ·\n\u003ca href=\"https://deq.rocks/documentation.html\"\u003eDocumentation\u003c/a\u003e ·\n\u003ca href=\"https://deq.rocks/faq.html\"\u003eFAQ\u003c/a\u003e ·\n\u003ca href=\"https://deq.rocks/press.html\"\u003ePress Kit\u003c/a\u003e ·\n\u003ca href=\"https://patreon.com/deqrocks\"\u003ePatreon\u003c/a\u003e\n\u003c/p\u003e\n\n## Table of Contents\n\n- [Features](#features)\n- [Concept](#concept)\n  - [Ambitions](#ambitions)\n  - [Architecture](#architecture)\n  - [Connectivity](#connectivity)\n- [Free Android App](#free-android-app)\n- [Paid Android Pro App](#paid-android-pro-app)\n- [Installation](#installation)\n- [Screenshots](#screenshots)\n- [License](#license)\n- [Credits](#credits)\n\u003cbr\u003e\u003cbr\u003e\n\n## Features\n\n- **Onboarding** – Automatic device and container population\n- **Native Android App** - Background monitoring, push notifications, widgets, Android Auto, Wear OS\n- **DeQ Nodes** - Devices with app connect to a node network that can WOL your server when you're not at home\n- **Device Control** - Wake-on-LAN, shutdown, suspend, Docker start/stop\n- **Device Monitoring** - CPU load, temp, SMART... with alarm thresholds\n- **File Manager** - Dual-pane browser, copy/move/upload between devices\n- **Scheduled Tasks** - Wizard guided automated backups, wake, shutdown, and scripts\n- **Extension API** - Write Python extensions. Build custom GUIs. Make DeQ whatever you need.\n- **HTTP API** - Connect Home Assistant, Tasker, or build your own automations\n- **Theming** - Custom colors, wallpapers, transparency effects\n- **Quick Stuff** - Bookmark and script runner buttons with support for Lucide, Dash...\n- **PWA Support** - Install as app on any device\n- **Admin Auth** - Adds an additional security layer\n\u003cbr\u003e\u003cbr\u003e\n\n\n## Concept\n\n### Ambitions\n\n- Less, but better. Lateral thinking over complexity.\n- Use what’s there. Move fast. Make it useful.\n\nDeQ is an ultra-lightweight network control layer that exposes the raw power of SSH on mobile devices — without unnecessary abstraction.\n\u003cbr\u003e\u003cbr\u003e\n\n### Architecture\n\nAt the core of DeQ is a single Python file: `server.py`.\nIt lives on your server and acts as the entire control layer.\n\nWhat makes it powerful — yet lightweight — is its restraint.\nDeQ is essentially SSH commands wrapped in a thin, vanilla Python shell.\nThere are no dependencies beyond Linux and Python.\nThe same file serves a dashboard-like web interface.\nIt is mobile-first, responsive, and accessible from any browser.\n\nWe deliberately restrict `server.py` to a maximum size of 500 KB.\nIt currently sits at around 350 KB.\nA typical fresh installation, managing a few devices, containers, and tasks,\nuses roughly 20 MB of RAM and virtually no CPU.\n\u003cbr\u003e\u003cbr\u003e\n\n### Connectivity\n\nThe native Android app, Android Auto, and Wear OS sync directly with `server.py`.\nThe server, in turn, connects to your host and other network devices via SSH.\n\nDeQ is not a dashboard. DeQ is a control layer disguised as a dashboard.\nIt is a well-connected control layer with access to core homelab functions\nsuch as Wake-on-LAN, task scheduling, and file management —\nas well as sensors and context from your mobile devices.\n\nFor example, the Android app can automatically put selected containers or servers\nto sleep when you plug in your phone at night —\nand wake them again when you unplug it in the morning.\n\n### Your Control Layer\n\nThe core remains lean. How you extend it is up to you.\n\nHTTP API connects Home Assistant, Tasker, or your custom scripts.\nExtension API lets you write Python that adds custom sections to the web interface.\nDrop shell scripts into `/opt/deq/scripts/` for quick automation.\n\nDeQ provides the infrastructure. You build what you need.\n\n![DeQ Connectivity](assets/DeQ-connectivity.svg)\n---\n## Free Android App\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"assets/DeQ-notifications.jpg\" width=\"280\"\u003e\n\u003cimg src=\"assets/DeQ-webview.jpg\" width=\"280\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cem\u003ePush notifications · Full web interface\u003c/em\u003e\u003c/p\u003e\n\nNative companion app with background monitoring and push notifications when devices go offline, containers stop, or backups fail. **Ad-Free**\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://play.google.com/store/apps/details?id=com.deq.app\"\u003e\u003cimg src=\"https://img.shields.io/badge/Free-Google_Play-2ed573?style=for-the-badge\u0026logo=google-play\" alt=\"DeQ Free on Google Play\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/deqrocks/deq/releases\"\u003e\u003cimg src=\"https://img.shields.io/badge/Free-GitHub_Releases-2ed573?style=for-the-badge\u0026logo=github\" alt=\"Free APK on GitHub\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Paid Android Pro App\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/DeQ-ambient.jpg\" width=\"300\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cem\u003eAmbient Mode with BCD clock\u003c/em\u003e\u003c/p\u003e\n\n**DeQ Pro** adds powerful automation and visualization features. Your purchase keeps this project alive as a full-time effort.\n\n\n\u003ctable align=\"center\"\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003eFeature\u003c/th\u003e\n      \u003cth\u003eDescription\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cstrong\u003eWidgets\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd\u003e5 widget styles for home and lock screen\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cstrong\u003eLive Wallpaper\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd\u003eAnimated status display as background\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cstrong\u003eAmbient Mode\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd\u003eWall-mount display with BCD clock, OLED optimized\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cstrong\u003eAndroid Auto\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd\u003eHomelab status in your car\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cstrong\u003eWear OS\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd\u003eWatch app, tile, and complications\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cstrong\u003eSleep With Me\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd\u003eHomelab sleeps when you sleep\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cbr\u003e\n\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"assets/DeQ-sleep-with-me-plug-in.jpg\" width=\"280\"\u003e\n\u003cimg src=\"assets/DeQ-sleep-with-me-unplug.jpg\" width=\"280\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cem\u003eSleep With Me: Plug in to sleep · Unplug to wake\u003c/em\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"assets/DeQ-android-auto.png\" width=\"560\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cem\u003eAndroid Auto integration\u003c/em\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"assets/DeQ-wear-os.jpg\" width=\"280\"\u003e\n\u003cimg src=\"assets/DeQ-wear-os-tile.jpg\" width=\"280\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cem\u003eWear OS app · Quick tile\u003c/em\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://play.google.com/store/apps/details?id=com.deq.app.pro\"\u003e\u003cimg src=\"https://img.shields.io/badge/Pro_(€6.99)-Google_Play-2ed573?style=for-the-badge\u0026logo=google-play\" alt=\"DeQ Pro on Google Play\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Installation\n\n```bash\nwget https://github.com/deqrocks/deq/releases/latest/download/deq.zip\nunzip deq.zip -d deq \u0026\u0026 cd deq\nsudo ./install.sh\n```\n\nThe installer asks a few questions and gives you your access URL.\n\n**Full setup guide:** [deq.rocks/documentation](https://deq.rocks/documentation.html)\n\n## Screenshots\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/DeQ-Onboarding-Devices.jpg\" width=\"700\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cem\u003eUser onboarding wizard\u003c/em\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/DeQ-File-Manager.jpg\" width=\"700\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cem\u003eDual-pane file manager (desktop)\u003c/em\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/app-free-filemanager.jpg\" width=\"280\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cem\u003eDual-pane file manager (phone)\u003c/em\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/DeQ-Task-Wizard.jpg\" width=\"700\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cem\u003eTask scheduler\u003c/em\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/DeQ-PWA-Desktop.jpg\" width=\"700\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cem\u003eDesktop PWA\u003c/em\u003e\u003c/p\u003e\n\n## License\n\nCC BY-NC 4.0 - Free for personal use, no commercial use without permission.\n\n## Credits\n\n- [Lucide Icons](https://lucide.dev)\n- [Dashboard Icons](https://github.com/walkxcode/dashboard-icons)\n- [JetBrains Mono](https://www.jetbrains.com/mono/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeqrocks%2Fdeq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeqrocks%2Fdeq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeqrocks%2Fdeq/lists"}