About this project

Mercury Device Farm is a browser‑based real‑device lab that lets users manage Android, iOS and Tizen devices from a single web workspace. The project is optimized for macOS because iOS automation requires Xcode tooling on the host. It bundles a Docker‑based backend, a compiled web UI and a host‑side iOS provider into a single GHCR image. After installing the macOS launcher with the provided install script, users start the services with `~/.mercury‑farm/mercury up`. For iOS devices a one‑time WebDriverAgent signing step in Xcode is required, after which the provider automatically installs and updates the agent on paired iPhones or iPads. The UI is accessed via a dynamic domain (MERCURY_DOMAIN) and includes pages for device listing, remote control, settings and logging. A mock authentication system provides an initial admin account. The tool supports updating to newer releases while preserving configuration and MongoDB data, and it can roll back to a specific version. Documentation covers hardware recommendations (Mac mini models, powered USB hubs, network setup), device preparation, screen‑streaming technologies (Minicap/Scrcpy for Android, WebDriverAgent MJPEG for iOS), bandwidth tuning, parallel execution, Appium integration, automation APIs, architecture and troubleshooting. The backend and CLI are Apache‑2.0 licensed; the web UI is a proprietary private submodule not publicly available.