Contributions to EmuHub are welcome! If you have any suggestions, bug fixes, or new features to propose, feel free to open an issue or submit a pull request.
EmuHub is a tool designed to simplify the testing of Android applications by providing access to multiple emulators via web browsers. Built with Docker and NoVNC (HTML5-based VNC client), EmuHub offers developers and QA engineers a seamless platform for testing APKs across various Android device configurations.
https://github.com/mohamed-helmy/emuhub
Features
- Multiple Emulators: EmuHub allows you to access multiple Android emulators simultaneously, facilitating parallel testing of applications.
- Web-Based Interface: With EmuHub, you can control and interact with emulators directly from your web browser, eliminating the need for local installations or complex configurations.
- Dockerized Environment: EmuHub is built using Docker containers, ensuring easy deployment and scalability across different environments.
- Customizable Configurations: EmuHub is based on images from mohamed-helmy/android-docker, providing flexibility to customize emulator configurations according to your testing requirements.
- Seamless Testing Experience: EmuHub simplifies the testing process by offering a user-friendly interface and centralized access to emulator instances, enhancing productivity for developers and QA engineers.
Supported Tags
docker pull mohamedhelmy/emuhub:latest
Getting Started
To use EmuHub, follow these steps:
-
Clone the Repository: Clone the EmuHub repository to your local machine.
git clone git@github.com:mohamed-helmy/emuhub.git
-
Build the Docker Image
docker build -t emuhub .
-
Run EmuHub Container: Start the EmuHub container.
docker run -d -p 6080:6080 emuhub
-
Access Emulators: Open your web browser and navigate to
http://localhost:6080
to access the EmuHub interface and start testing your Android applications.
Example Docker Compose
version: '3'
services:
emulator:
image: mohamedhelmy/emuhub:latest
privileged: true
scale: 1
environment:
- VNCPASS=admin
- emuhubPASS=admin
- LISTENPORT=8000
ports:
- 8000:8000
volumes:
- ./apk-demo:/home/emuhub/apk
logging:
driver: json-file
options:
max-size: 20m
max-file: '10'
Modify the configuration as per your requirements. Ensure to set appropriate values for VNCPASS
, emuhubPASS
, and LISTENPORT
.
Run EmuHub Container:
Start EmuHub using Docker Compose:
docker compose up -d
Once EmuHub is running, access it via a web browser using the URL http://<your-server-ip>:8000
. Replace <your-server-ip>
with the IP address of the server where EmuHub is hosted.