Repolode
budtmo

budtmo/docker-android

Docker image that runs Android emulators in containers, viewable through noVNC, with video recording, an MCP server and AI-agent support.

Open-source alternative to:Genymotion

Stars
16,018
Forks
1,772
Open issues
163
Last commit
2 days ago

What is it?

Docker-Android packages an Android emulator into a Docker image so it can be run on a Linux host without a local Android Studio setup. The emulator can be watched through a browser via noVNC or VNC, and the container exposes a web UI with logs. It is intended for application development and testing of native, web and hybrid apps.

The image ships with several Android versions (9.0 through 14.0) and a set of phone and tablet device profiles such as Samsung Galaxy S10 and Pixel C. The emulator can also be controlled from outside the container with adb connect. Images for Genymotion and an MCP server are also published, and the project describes integration with Genymotion Cloud, AWS, Azure and GCP.

The project also covers use cases such as building Android projects, running Appium, Espresso and other UI tests, simulating SMS, and running in Jenkins. An experimental HTTP MCP server and AI-agent mode that works with local LLM servers Ollama and vLLM are included. Running the emulator requires a host with KVM virtualization, and on Windows this means WSL2 with nested virtualization.

Key features

  • 01Runs Android 9.0 through 14.0 emulators inside Docker containers.
  • 02Lets you watch the emulator in a browser through noVNC or VNC.
  • 03Provides multiple phone and tablet device profiles and skins.
  • 04Allows controlling the emulator from outside the container via adb connect.
  • 05Offers an experimental HTTP MCP server and AI-agent mode for Ollama and vLLM.
  • 06Integrates with Genymotion and cloud providers such as AWS, Azure and GCP.

Use cases

  • Running Appium, Espresso or other UI tests against an Android emulator in CI.
  • Building Android projects on a Linux server without a desktop IDE.
  • Giving an AI agent or MCP client a controllable Android device.
  • Deploying a shared emulator farm on cloud VMs.

Quick start

  1. 1

    Check that your host is Ubuntu, or use an Ubuntu VM on macOS or Windows

  2. 2

    Run the Docker-Android container

    docker run -d -p 6080:6080 -e EMULATOR_DEVICE="Samsung Galaxy S10" -e WEB_VNC=true --device /dev/kvm --name android-container budtmo/docker-android:emulator_11.0
  3. 3

    Open http://localhost:6080 in your browser to see the emulator

  4. 4

    Check the emulator status

    docker exec -it android-container cat device_status

Things to know

  • The image runs only on Ubuntu, so macOS and Windows users need an Ubuntu virtual machine.
  • It requires hardware virtualization support and access to /dev/kvm.
  • The README does not state a clear open-source license.

In collections

Topics

FAQ

What is docker-android?
Docker image that runs Android emulators in containers, viewable through noVNC, with video recording, an MCP server and AI-agent support. Docker-Android packages an Android emulator into a Docker image so it can be run on a Linux host without a local Android Studio setup. The emulator can be watched through a browser via noVNC or VNC, and the container exposes a web UI with logs. It is intended for application development and testing of native, web and hybrid apps.
Is docker-android free to use? What license does it have?
docker-android is open source under the Other license. Check the license terms before using it in commercial products.
Is docker-android still maintained?
Actively maintained. The last commit to docker-android was on Oct 23, 2026.
What can I use docker-android for?
Running Appium, Espresso or other UI tests against an Android emulator in CI. Building Android projects on a Linux server without a desktop IDE. Giving an AI agent or MCP client a controllable Android device. Deploying a shared emulator farm on cloud VMs.
How do I install docker-android?
Check that your host is Ubuntu, or use an Ubuntu VM on macOS or Windows Run the Docker-Android container: docker run -d -p 6080:6080 -e EMULATOR_DEVICE="Samsung Galaxy S10" -e WEB_VNC=true --device /dev/kvm --name android-container budtmo/docker-android:emulator_11.0 Open http://localhost:6080 in your browser to see the emulator Check the emulator status: docker exec -it android-container cat device_status
Where can I get docker-android?
The source code and installation instructions are on GitHub: https://github.com/budtmo/docker-android

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects