Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] junkerderprovinz - StrawDroid

Featured Replies

StrawDroid: a real Android emulator for Unraid

A phone you can break.

StrawKnight

Install on Unraid   View on GitHub   Buy me a coffee

What is this?

A straw knight is the practice dummy: built in the shape of the real thing so somebody can strike at it without anybody getting hurt. This container runs the real Android emulator, the same AVD Android Studio starts, headless on a Selkies desktop. The screen arrives in your browser over WebRTC and is encoded on the box's own GPU, and adb reaches it over the network, so Android Studio deploys and debugs on it exactly like a phone on a cable.

It is deliberately not Android-in-a-container. ReDroid and Waydroid run the Android userspace on the host kernel: no battery, no motion sensor, no power HAL. Doze therefore never fires and the limits on background work never apply, so a test rig built on one is green because it never asks the question. A real AVD asks, and it answers on demand.

Highlights

  • Android 16, API 36, google_apis, x86_64. The newest level on purpose: it is the strictest about background work, and it carries Play services and a real SAF folder picker

  • adb over the network: adb connect <ip>:5555 and Android Studio lists it as an ordinary device

  • Doze on demand, which is the whole point of a real AVD: adb shell dumpsys deviceidle force-idle

  • A share that reaches the phone: anything dropped into /share turns up on the device under Download/share, so a build can be installed by tapping it, without a terminal

  • WebRTC, not VNC: judging how an app feels is judging its scrolling and its transitions, which is exactly the part a framebuffer diff smears

  • The device arrives set up: wallpaper, dark mode, an empty home screen and monochrome icons everywhere, done once on the first boot and never written again, so anything you change afterwards is yours

  • Persistent by design: /config holds the device itself, including installed apps and granted permissions, so a restart is not a factory reset

  • Image: ghcr.io/junkerderprovinz/strawknight:latest

Requirements

  • Unraid 6.10+

  • /dev/kvm on the host, passed in via Extra Parameters (--device=/dev/kvm). On bare metal it is simply there; inside a VM it needs nested virtualisation. Without it the emulator does not start, and the container log says so in as many words

  • Memory: an emulator is a virtual machine and holds its memory whether anybody is testing or not. Measured idle, with no app installed, about 6 GB. The template caps it at 8 GB and four cores

  • amd64 only. The system image is x86_64, so there is nothing for an arm64 build to run

  • It is deliberately not set to restart on its own. Start it when it is needed and stop it after

Posting a bug report

Please post:

  • Unraid version (Settings > System Information)

  • Image tag (latest or a pinned vX.Y.Z)

  • Output of docker logs --tail 200 StrawKnight

  • Whether /dev/kvm is present on the host: ls -l /dev/kvm

  • Whether you changed EMULATOR_GPU, EMULATOR_DEVICE, EMULATOR_RAM or the /config mount

GitHub issues with the same information are just as welcome: github.com/junkerderprovinz/strawknight/issues

Credits

Built on the Android emulator and Google's system images, on LinuxServer's Selkies base image. The device ships with Lawnchair (Apache-2.0) and the Arcticons icon pack (GPL-3.0) by Donnnno, both unmodified. budtmo/docker-android did this first and is well kept; this one differs in putting the emulator on a hardware-encoded desktop rather than behind noVNC. If StrawKnight saves you a spare phone, you can buy me a coffee.


Self-hosted, AGPL-3.0 licensed. You run it, you own your data and the responsibility.

Edited by Junker der Provinz

  • Junker der Provinz changed the title to [Support] junkerderprovinz - StrawDroid

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.