EmuHub is an innovative 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.
- 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.
docker pull mohamedhelmy/emuhub:latest
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 \ --name emulator \ --privileged \ -e VNCPASS=admin \ -e emuhubPASS=admin \ -e LISTENPORT=8000 \ -p 8000:8000 \ -v $(pwd)/apk-demo:/home/emuhub/apk \ --log-driver=json-file \ --log-opt max-size=20m \ --log-opt max-file=10 \ emuhub
-
Access Emulators:
Open your web browser and navigate to http://localhost:8000
to access the EmuHub interface and start testing your Android applications.
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.
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.
This project is licensed under the MIT License, allowing for both personal and commercial use with attribution.
For any questions or assistance, please contact helmy419@gmail.com.
Note: EmuHub is a project maintained by [Mohamed Helmy]. We strive to improve the testing experience for Android developers and welcome feedback from the community. Thank you for using EmuHub!