Skip to content

Releases: sudiptacmd/homedroid

Homedroid 0.9.4-beta

Homedroid 0.9.4-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Oct 01:46
64d6709

Homedroid 0.9.4 beta

Ad blocking for your whole tailnet, Wake on LAN, network tools and Gemma 4. This release
also carries everything from 0.9.3, which was tagged but never published.

New

  • AdGuard Home. Network-wide ad and tracker blocking with blocklists, statistics and a query
    log. Android won't let apps use port 53, so it answers on 1053, and Homedroid's Tailscale passes
    port 53 on the phone's tailnet address straight to it: add the phone as a custom nameserver in
    the Tailscale admin console and every device on your tailnet is filtered, at home or on mobile
    data. A setup guide covers that, routers that forward DNS to a port, and what DNS blocking
    can't do.
  • Wake on LAN. Save your computers and wake them from anywhere the dashboard reaches:
    Tailscale, a Cloudflare tunnel or another phone in the cluster. The phone broadcasts the magic
    packet on its networks and shows whether a computer is on. Scripts and shortcuts can call
    POST /api/wol/wake.
  • Network tools. A Network page with this phone's addresses, gateway, DNS and throughput;
    device discovery (mDNS, SSDP/UPnP and quick TCP probes); and ping, traceroute, DNS lookups,
    nmap port scans, HTTP checks, whois, iperf3 LAN speed tests and an internet speed test, all
    cancellable and with validated input. Live packet capture needs root, so it isn't included.
  • Gemma 4 E2B joins the model catalog: Google's quantization-aware 4-bit build, which writes
    like a 2B model and is recommended on phones that run it quickly enough.
  • A website at sudiptacmd.github.io/homedroid,
    a new walkthrough (homedroid-walkthrough.mp4, attached), a rewritten README and issue forms
    for bugs, phone reports and app requests.

Fixed

  • Updates from the dashboard work again. Checking for updates asked GitHub for its "latest"
    release, which leaves out pre-releases, and every Homedroid beta is one. Phones on 0.9.3 or
    older need to install this version once by hand
    (or upload the APK under Settings → App
    updates
    ); after that, updates work from the dashboard.
  • Videos and music play in the browser again from Files.
  • Clusters: phones behind a port forward or relay keep their real address instead of
    calling themselves, and leaving or pairing survives a sudden power cut.
  • Dashboard: the mobile close button no longer shows on wide screens; empty cdrom, floppy
    and usb folders no longer appear in new media libraries.
  • Security: Caddy's OpenTelemetry trace exporters are pinned to 1.45.0 (GO-2026-6505).

Verified

  • USB drives and microSD cards as network storage on a real phone; clusters across versions with
    copy and move both ways; AdGuard Home blocking through its DNS port; Wake on LAN packets and
    status; the network tools on an emulator.

Your installed apps, libraries and configuration are kept when updating.

This is a prerelease. The tag v0.9.4-beta uses the existing release workflow to build and
publish signed APKs for arm64, 32-bit ARM, x86_64 and universal, the AI runtime archives,
and SHA256SUMS.

Homedroid 0.9.2-beta

Homedroid 0.9.2-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Oct 20:15

Homedroid 0.9.2 beta

A redesigned phone app, with more control from the phone itself. The overview, app
library and new settings screen use a consistent native interface with light and dark themes.

New

  • A clearer overview. Server status, battery, temperature, available memory and storage
    have their own cards. Start or stop the server, restart individual services, share the
    dashboard address and inspect service logs. Running services are listed by name, and the
    screens keep their headers compact. The dashboard password is hidden until opened.
  • Phone settings. Change startup behavior, SSH and web hosting, Tailscale and Cloudflare
    Tunnel setup, SSH authorized keys and the dashboard password. Password changes sign out
    existing browser sessions. Service changes restart active services; changes made while
    stopped take effect on the next start.
  • Appearance. Follow the phone's theme, or choose light or dark. Bottom navigation
    connects Overview, Apps and Settings.
  • Mobile browser sidebar. Dashboard page links now live in a collapsible sidebar
    opened from the top menu. It includes theme and logout controls, dismisses after navigation
    or tapping outside, and supports keyboard focus handling and Escape.
  • An app library. Apps use readable cards with installation, storage and running status,
    and controls to install, open, enable, disable, remove and clear their data.
  • Control panel inside the app. Open Files, AI and routines, deployments, cluster phones,
    camera controls, Terminal & SSH, modules and updates directly from the phone. The panel
    signs in through the existing local dashboard using an expiring session. It offers a
    start-server action when offline, supports document uploads and HTTP downloads, and opens
    external links in the browser. Phones with an outdated System WebView receive an update
    shortcut and browser option instead of a blank panel.
  • Phone setup shortcuts. Battery optimization, app permissions, shared storage access
    and Android background-process guidance live in Settings.

Your installed apps, libraries and configuration are kept when updating. Camera and
microphone access still require enabling on the phone and granting Android permissions.
Generated browser-only downloads may need the browser dashboard to save.

This is a prerelease. The tag v0.9.2-beta uses the existing release workflow to build and
publish signed APKs for arm64, 32-bit ARM, x86_64 and universal, the AI runtime archives,
and SHA256SUMS.

Homedroid 0.9.1-beta

Homedroid 0.9.1-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Oct 18:34

Homedroid 0.9.1 beta

Update from 0.9.0 if you use AI on the phone: in 0.9.0 the model on the phone never became
ready, and the idle model could keep the CPU busy and drain the battery. Both are fixed.

Fixed

  • On-phone AI works. Android blocked Homedroid from talking to its own model server, so
    the model stayed "loading" and chat, the AI API and routines failed. The same block hit
    Ollama or LM Studio on your network, http:// news feeds and self-hosted ntfy. If a model
    isn't ready, the AI page now says why.
  • No more battery drain from an idle model. llama.cpp waited for work by spinning the CPU;
    on a test phone it kept most cores busy with the screen off. It now sleeps when idle and lets
    go of the model after 10 idle minutes (it reloads in a few seconds when needed).
  • Routines cover every source you give them, also with small models.

New

  • llama.cpp built for Android. The AI runtime is now built by this project and downloaded
    from the release when you install it (about 17 MB), checked against the version that comes
    with the app. It runs directly on Android, so AI no longer needs Alpine Linux.
  • GPU or CPU. Run on: Auto / CPU / GPU, and a Benchmark that measures both; Auto uses
    the faster. Vulkan works with most phone GPUs, OpenCL with Qualcomm Adreno. Older GPU drivers
    can crash llama.cpp: the benchmark notices and Homedroid then stays on the CPU. On our test
    phone (Mali-G72) the GPU crashed, and the CPU wrote 11 tokens/s with Qwen2.5 0.5B.
  • Model recommendations. The AI page recommends the best model your phone runs well, from
    its memory, free space and, after a benchmark, its measured speed; every other model shows
    why it wasn't picked or how fast it would be.
  • Home-screen widget. Homedroid status shows every phone in your cluster (online,
    battery, temperature) and the services running, refreshed every minute. Tap it to open the
    dashboard.
  • Updated architecture diagram.

After updating, open AI → On this phone and tap Install once to get the new runtime;
your downloaded models are kept. Then run the Benchmark for the recommendation.

This is a prerelease: download its signed APK here or upload it through dashboard App updates.

Homedroid 0.9.0-beta

Homedroid 0.9.0-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Oct 15:33

Homedroid 0.9.0 beta

Two big additions: several phones working as one, and AI on your phones.

Cluster: several phones, one dashboard

  • Add another phone from Cluster → Add a phone. Phones on the same Wi-Fi find each
    other automatically; you can also enter an address (works over Tailscale too). Both
    phones show the same 6-digit code; approve the request on the phone being added, from
    its notification or its dashboard.
  • Manage any phone from any phone. A phone switcher in the dashboard turns every page
    (Overview, Modules, Deployments, Files, Terminal, IPCam, AI, Settings) to the phone you
    pick. The Cluster page shows each phone's battery, temperature, CPU, memory and storage.
  • Choose where each app runs. The Where apps run table shows every app and deployment
    on every phone. Move an app to another phone and its settings and database go with
    it, and its library too if you choose; deployments are rebuilt from Git on the new
    phone. If a move fails, the app is turned back on where it was.
  • All cameras on one page, with a live view from every phone and the latest captures
    from all of them.
  • Every phone's storage in Files. Browse any phone's locations, and copy or move files
    and folders between phones; they go straight from phone to phone.

Phones talk to each other over encrypted connections (mutual TLS on port 8801), and each
phone only trusts the others it was paired with. A paired phone can fully control the
others, so give every phone's dashboard a strong password. Apps on one phone can't use
another phone's storage directly (that needs root); put an app on the phone that holds
its files instead. There is no automatic failover yet.

AI

  • Models on your phone. Turn on the AI module, install llama.cpp (a few tens of MB) and pick a
    model: Qwen2.5, Llama 3.2 or Gemma 3, with a recommendation for your phone's memory.
    Downloads resume and are checked; any Hugging Face .gguf link works too. 64-bit phones.
  • Cloud services. Connect OpenAI, Google Gemini, or any OpenAI-compatible service
    (OpenRouter, Groq, or Ollama/LM Studio on your computer). Keys are stored only on the
    phone. Optionally fall back to a cloud model when the phone is too hot or its model isn't
    running.
  • Chat in the dashboard, with every answer labelled on this phone or cloud.
  • An API for your other apps: http://<phone>:8090/v1, OpenAI-compatible, with its own
    key. Home Assistant, Open WebUI or your scripts can use the phone's model and your cloud
    models without ever seeing your cloud keys.
  • Routines: scheduled briefs. Read news feeds, web pages, the weather, your phones'
    health and unread email (IMAP with an app password), then summarize them and read the
    brief aloud on any phone, keep it in Briefs, or push it to your phone with ntfy or
    Telegram. Templates for a morning brief, an inbox skim, a news digest and a phone check.
    Routines only read: nothing is marked as read, and email is only sent to a cloud model
    in routines where you allow it.

See the security review
for what the new features expose and how they are protected.

Update every phone in a cluster to 0.9.0. This is a prerelease: download its signed APK
here or upload it through dashboard App updates.

Homedroid 0.8.5-beta

Homedroid 0.8.5-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Oct 14:08

Homedroid 0.8.5 beta

Camera views retain their last decoded frame while a new frame arrives, removing the
blank-frame flicker. Each camera has saved resolution, frame rate, rotation and motion
settings. Always-on monitoring can watch without saving or save video only during motion,
with configurable sensitivity, quiet time and maximum clip duration. A shared capture
storage allowance deletes the oldest completed captures to make room for new footage.

Authentication now limits failed attempts across login, Bearer APIs and password changes:
five failures per peer cause a 15-minute cooldown, with a shared 50-failure budget. Limits
survive restarts. Sessions expire after 24 hours, and logout/password changes revoke
terminal access too. Browser request protection, HTTP and WebSocket limits, SSH handshake
limits and security dependency upgrades strengthen access to the camera and other admin
features. See the security review for details and boundaries.

After upgrading, log in again. For encrypted camera access use Tailscale HTTPS Serve or a
Cloudflare HTTPS tunnel. The direct LAN HTTP address remains unencrypted.

This is a prerelease: download its signed APK here or upload it through dashboard App
updates. The stable updater intentionally follows GitHub's latest stable release.

Homedroid 0.8.4-beta

Homedroid 0.8.4-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Sep 08:54

Homedroid 0.8.4

  • Added Tailscale as a built-in module. The phone joins your tailnet in userspace mode (no
    root, and it doesn't take the phone's VPN slot), so every module is reachable at
    http://<device-name>:<port> from your own devices, and ssh -p 8022 <device-name> works
    from anywhere. Log in with the link the dashboard shows, or paste an auth key.
    Options: device name, HTTPS address for the dashboard on the tailnet (Serve) or the internet
    (Funnel), exit node, subnet routes, ACL tags, and a local SOCKS5/HTTP proxy so programs on
    the phone can reach your other devices. The tailscale command works in SSH shells.
  • Update from the dashboard: Settings → App updates checks the latest GitHub release and
    downloads the APK for the phone's CPU, or takes an APK you upload from the browser. It only
    installs Homedroid signed with the same key. Android asks you to confirm on the phone (a
    notification opens the prompt); on Android 12 and later, later updates install without one.
    The server restarts on the new version by itself.
  • IPCam live view: open a live viewfinder for any camera from the IPCam page, take photos
    and record video from it, and close it again; the phone turns the camera off when nobody is
    watching. The view keeps running while recording where the camera supports both at once.
  • Preview captures in the dashboard: photos, videos (with seeking) and microphone
    recordings open in the page, and a new capture is offered for preview as soon as it's saved.
  • Dashboard logins now survive app restarts and updates.
  • Setup guides for Cloudflare Tunnel and Tailscale: step-by-step dialogs with links to the
    right pages of each admin console and the ports of the apps you have installed.

This is the last update you need to install by hand: from 0.8.4 on, update from the dashboard.
The first time, Android asks you to allow Homedroid to install apps.

Homedroid 0.8.3-beta

Homedroid 0.8.3-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Sep 00:01

Homedroid 0.8.3

  • Added IPCam as an optional module with its own dashboard page: per-camera photos
    and video, flash controls, microphone listening and WAV recording, capture downloads,
    and spoken announcements.

  • Added Settings for changing the dashboard password and startup preference.
    Password changes sign out other browser sessions; the phone always shows the current
    password, even when the server is stopped.

  • IPCam and Settings follow the new dashboard theme on desktop and mobile.

  • The terminal and shell text use bundled JetBrains Mono, including offline.

Enable IPCam camera and microphone access in the phone app before using remote controls.
Capture does not wake the display or play app sounds. Android privacy indicators and
foreground-service notifications remain active; device-enforced sounds may still apply.
Video and microphone audio are saved separately. Enable access again after restarting.

Homedroid 0.8.1-beta

Homedroid 0.8.1-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Sep 22:48

Which APK? Most phones: arm64-v8a. Old 32-bit phones: armeabi-v7a. Emulators and Chromebooks: x86_64. Not sure: universal. Check downloads against SHA256SUMS. Installs over 0.4.1 and keeps your data.

New in the dashboard

  • Redesign. Sidebar on computers and bottom tabs on phones, light/dark/auto theme, switches for modules, in-page dialogs. Lighter too: views only redraw when something changed, only the open tab polls (never in a hidden browser tab), and the page is gzipped and cached.
  • Live load. CPU load, temperature and upload/download speed beside battery, memory and storage, with small graphs.
  • Files. Browse the media and photo libraries, the SSH home and website, and phone storage, SD cards and USB drives. Upload files or whole folders (drag and drop), download files or folders (zip), open videos, pictures and PDFs in the browser, rename, move and delete. Transfers stream to disk, so multi-GB files work.
  • Terminal. A shell in the browser, in the phone's shell or straight into Alpine Linux.
  • SSH access. Add and remove SSH keys; a log of SSH and terminal sessions (who, from where, how long, what they ran, and rejected logins); the command history of the phone shell and of Alpine.

Apps

  • Clear data resets an app like a fresh install. Remove can also delete its settings and database. The media or photo library is only deleted when ticked separately, and the dialog says which other apps use it.
  • qBittorrent downloads show up in Jellyfin. Installing both adds a Downloads library that picks up new files within a minute.

Fixes

  • Closing an SSH connection now ends its shell. Android starts apps with SIGHUP ignored, so shells survived their hangup.

Known limitations

Android doesn't let apps read system-wide CPU load, so the dashboard shows the load of Homedroid's own processes (all the servers). See Known limitations.

Homedroid 0.4.1-beta

Homedroid 0.4.1-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Sep 20:31

First public beta of Homedroid (formerly Lindroid): turn an old Android phone into a home server, no root.

Which APK? Most phones: arm64-v8a. Old 32-bit phones: armeabi-v7a. Emulators and Chromebooks: x86_64. Not sure: universal. Check downloads against SHA256SUMS.

What's in it

  • Modules you can add, remove and turn on or off: SSH & SFTP, web hosting (Caddy), Cloudflare Tunnel, Jellyfin, qBittorrent, Home Assistant and Immich.
  • Web dashboard on port 8800: phone health, services, logs, and deployments from GitHub (Node.js, Python, static sites) with optional auto-deploy.
  • Jellyfin hardware transcoding through the phone's video encoder (MediaCodec).
  • torrent <magnet> over SSH: in-order downloads into the media library, then seeding.
  • Per-app storage: inside the app, internal storage, SD card or USB drive.
  • Immich from its official container images, pulled and run without Docker.

Known limitations

Tested on emulated Android 10 and 16; the first real-device pilot is in progress. See
Known limitations in the README.

Upgrading from a Lindroid test build

The package name changed (dev.lindroid → dev.homedroid), so Homedroid installs as a new app. Uninstall Lindroid after moving anything you need.