A free, open-source macOS app that shows Android emulators, Android phones, iOS simulators and iPhones side by side for mirroring, control and settings changes.
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
Check that your host is Ubuntu, or use an Ubuntu VM on macOS or Windows
- 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
Open http://localhost:6080 in your browser to see the emulator
- 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
Self-hosted PaaS that deploys apps and databases on your own server using Docker, Nginx and Let's Encrypt, with a web GUI and CLI.
Node.js test automation framework for end-to-end, unit and component testing in browsers and mobile apps via WebDriver, BiDi and Appium.
Generates cloud architecture diagrams for AWS, Azure and GCP from AI prompts, JSON graphs or Terraform code, with official cloud icons.
A macOS app that shows iOS Simulators and Android Emulators side-by-side in one window and mirrors touch input across all of them.
Automate real Android phones from your code for app testing, repeated tasks, phone farms, or AI agents, with no ADB, USB cable or root.