selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
dockerify-android logo

Self-host dockerify-android

v1.0.0

Android emulator in Docker with browser and ADB access

ReleaseOpen SourceMIT
Docker ComposeCompose file & guide
docker compose up -d
Updated5 months ago
LanguageShell
Setup difficultyModerate
Stars
647
RAM
4096 MB allocated to the emulator by default (RAM_SIZE)
Port
5555 (ADB access to the Android emulator)
Requires
Kvm
Docker
shmayro/dockerify-android
scrcpy-web browser interface listing the connected dockerify-android deviceAndroid emulator screen streamed in the browser

What is dockerify-android?

Dockerify Android packages an Android virtual device inside a Docker container so developers and testers can spin up scalable Android environments on their own hardware. The emulator is reachable straight from a browser through the bundled scrcpy-web front end, and also over ADB or the desktop scrcpy client. Optional first-boot steps add an ndk_translation layer for ARM/ARM64-only apps, Magisk-based rooting, and PICO GAPPS, and everything is controlled with a handful of environment variables. It runs natively on both x86_64 and arm64 hosts. Setup is clone the repository, then bring the stack up with docker compose; the web UI appears at localhost:8000 once the device has finished booting, which can take 10-15 minutes. It is MIT-licensed and currently creates an Android 11 device; support for more Android versions is still on the roadmap.

Should you self-host dockerify-android?

dockerify-android scores 50/100 on selfhost.directory (how scoring works) and ranks #76 of 166 in Developer Tools. It has 647 GitHub stars.

It shipped 1 stable release in the past year. The latest, v1.0.0, came out on 29 May 2026.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Shell.

Its closest alternative on selfhost.directory is openhands (87/100, 92 079 stars). It scores higher overall, so compare the two before you pick. See dockerify-android vs openhands side by side.

Features

  • ADB access
  • ARM app translation
  • Configurable device profile
  • File Injection
  • Google services (GAPPS)Enabled with GAPPS_SETUP=1
  • Process supervision
  • Root with MagiskEnabled with ROOT_SETUP=1
  • Screen mirroring via scrcpy
  • Unified Container Logs
  • Web Interface

dockerify-android README

How to install dockerify-android

Install dockerify-android with Docker Compose

Docker, Docker Compose and KVM support (/dev/kvm)
Environment variables
DNS, RAM_SIZE, SCREEN_RESOLUTION, SCREEN_DENSITY, ROOT_SETUP, GAPPS_SETUP, ARM_TRANSLATION
git clone https://github.com/shmayro/dockerify-android.git
cd dockerify-android
docker compose up -d

Launches the Android emulator and the web interface; the device appears at http://localhost:8000 once booted.

How to configure dockerify-android

  • ARM_TRANSLATION0Set to `1` to enable ARM translation (ndk_translation) for running ARM/ARM64 apps on x86_64. Can be turned on after the first start but cannot be undone without recreating the data volume.

    Set to `1` to enable ARM translation (ndk_translation) for running ARM/ARM64 apps on x86_64. Can be turned on after the first start but cannot be undone without recreating the data volume.

  • DNSone.one.one.onePrivate DNS server used inside the emulator

    Private DNS server used inside the emulator

  • GAPPS_SETUP0Set to `1` to install PICO GAPPS. Can be turned on after the first start but cannot be undone without recreating the data volume.

    Set to `1` to install PICO GAPPS. Can be turned on after the first start but cannot be undone without recreating the data volume.

  • RAM_SIZE4096RAM in megabytes allocated to the emulator

    RAM in megabytes allocated to the emulator

  • ROOT_SETUP0Set to `1` to enable rooting and Magisk. Can be turned on after the first start but cannot be undone without recreating the data volume.

    Set to `1` to enable rooting and Magisk. Can be turned on after the first start but cannot be undone without recreating the data volume.

  • SCREEN_DENSITYdevice defaultScreen pixel density in DPI

    Screen pixel density in DPI

  • SCREEN_RESOLUTIONdevice defaultScreen size in `WIDTHxHEIGHT` format (e.g. `1080x1920`)

    Screen size in `WIDTHxHEIGHT` format (e.g. `1080x1920`)

dockerify-android releases & version history

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…