{"id":19734051,"url":"https://github.com/zebrunner/mcloud","last_synced_at":"2025-04-04T17:05:07.345Z","repository":{"id":39905906,"uuid":"199003721","full_name":"zebrunner/mcloud","owner":"zebrunner","description":"Mobile farm ecosystem for Android and iOS devices","archived":false,"fork":false,"pushed_at":"2024-10-15T11:13:09.000Z","size":301,"stargazers_count":148,"open_issues_count":13,"forks_count":21,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-28T16:07:32.210Z","etag":null,"topics":["android","androidtv","ansible","appium","automation","cloud","devicefarm","docker","farm","hub","ios","macos","mobile","openstf","phone","stf","tablet","testing","tv","tvos"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zebrunner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-26T11:16:48.000Z","updated_at":"2025-03-20T08:58:27.000Z","dependencies_parsed_at":"2023-11-01T14:24:54.708Z","dependency_job_id":"53361581-1798-4176-9839-349764d4c81e","html_url":"https://github.com/zebrunner/mcloud","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebrunner%2Fmcloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebrunner%2Fmcloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebrunner%2Fmcloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebrunner%2Fmcloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zebrunner","download_url":"https://codeload.github.com/zebrunner/mcloud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217172,"owners_count":20903008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","androidtv","ansible","appium","automation","cloud","devicefarm","docker","farm","hub","ios","macos","mobile","openstf","phone","stf","tablet","testing","tv","tvos"],"created_at":"2024-11-12T00:35:15.241Z","updated_at":"2025-04-04T17:05:07.312Z","avatar_url":"https://github.com/zebrunner.png","language":"Shell","readme":"Zebrunner MCloud\r\n==================\r\n\r\nZebrunner MCloud is a Device Farm for automated test execution (Appium) and remote web access by humans to physical devices (Android and iOS) including phones, tablets, and TVs. It is fully integrated into the [Zebrunner (Community Edition)](https://zebrunner.github.io/community-edition) ecosystem and can be used both for manual and automated testing.\r\n\r\n* It is built on top of [OpenSTF](https://github.com/openstf) and supports iOS devices remote control.\r\n\r\nFeel free to support the development with a [**donation**](https://www.paypal.com/donate/?hosted_button_id=MNHYYCYHAKUVA) for the next improvements.\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003ca href=\"https://zebrunner.com/\"\u003e\u003cimg alt=\"Zebrunner\" src=\"https://github.com/zebrunner/zebrunner/raw/master/docs/img/zebrunner_intro.png\"\u003e\u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n## System requirements \r\n\r\n### Hardware requirements\r\n\r\n|                         \t| Requirements                                                     \t|\r\n|:-----------------------:\t|------------------------------------------------------------------\t|\r\n| \u003cb\u003eOperating System\u003c/b\u003e \t| Ubuntu 24.04\u003cbr\u003eLinux CentOS 7+\u003cbr\u003eAmazon Linux 2\u003cbr\u003eMacOS        |\r\n| \u003cb\u003e       CPU      \u003c/b\u003e \t| 4+ Cores                                                         \t|\r\n| \u003cb\u003e      Memory    \u003c/b\u003e \t| 16 Gb RAM                                                        \t|\r\n| \u003cb\u003e    Free space  \u003c/b\u003e \t| SSD 32Gb+ of free space                                         \t|\r\n\r\n### Software requirements\r\n\r\n* Installed Docker v27+\r\n\r\n* Installed Docker compose as a plugin\r\n\r\n* Installed git 2.20.0+\r\n\r\n## Usage\r\n1. Clone [mcloud](https://github.com/zebrunner/mcloud) and set up:\r\n   ```\r\n   git clone https://github.com/zebrunner/mcloud.git \u0026\u0026 cd mcloud \u0026\u0026 ./zebrunner.sh setup\r\n   ```\r\n   \u003e Provide valid protocol, hostname, and port\r\n2. Start services `./zebrunner.sh start`\r\n3. Open `http://hostname:80/stf`\r\n4. Log in using any name/email values as auth-mock is configured by default\r\n5. Goto Settings-\u003eKeys and generate new Access Token\r\n6. Paste generated token into the variables.env for `STF_TOKEN` var\r\n7. Restart services using `./zebrunner.sh restart`\r\n8. Set up the servers with Android and iOS devices according to [mcloud-agent](https://github.com/zebrunner/mcloud-agent)\r\n   \u003e [mcloud-ios](https://github.com/zebrunner/mcloud-ios) is deprecated. Use the same [mcloud-agent](https://github.com/zebrunner/mcloud-agent) to setup on MacOS too!\r\n9. Use `http://hostname:80/mcloud/grid/console` to see connected devices and `http://hostname:80/mcloud/wd/hub` as Selenium/Appium hub url for test automation.\r\n\r\n\u003e Follow the installation and configuration guide in [Zebrunner CE](https://zebrunner.github.io/community-edition) to reuse MCloud components effectively for Test Automation.\r\n\r\n## Components\r\n* [mcloud-agent](https://github.com/zebrunner/mcloud-agent) - Device Farm agent for connecting physical Android and iOS devices including phones, tablets, and TVs via Linux or MacOS.\r\n* [mcloud-device](https://github.com/zebrunner/mcloud-device) - Dockerized STF provider image for Android and iOS devices.\r\n* [mcloud-grid](https://github.com/zebrunner/mcloud-grid) - Enhanced Selenium Grid for automating physical devices and emulators/simulators via Appium.\r\n* [appium](https://github.com/zebrunner/appium) - Enhanced Appium image with low-level video recording and local storage for ipa/apk artifacts.\r\n* [mcloud-redroid](https://github.com/zebrunner/mcloud-redroid) -  GPU accelerated Android In Cloud solution\r\n\r\n## Documentation and free support\r\n* [Zebrunner PRO](https://zebrunner.com)\r\n* [Zebrunner CE](https://zebrunner.github.io/community-edition)\r\n* [Zebrunner Reporting](https://zebrunner.com/documentation)\r\n* [Carina Guide](http://zebrunner.github.io/carina)\r\n* [Demo Project](https://github.com/zebrunner/carina-demo)\r\n* [Telegram Channel](https://t.me/zebrunner)\r\n \r\n## License\r\nCode - [Apache Software License v2.0](http://www.apache.org/licenses/LICENSE-2.0)\r\n\r\nDocumentation and Site - [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/deed.en_US)\r\n","funding_links":["https://www.paypal.com/donate/?hosted_button_id=MNHYYCYHAKUVA"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzebrunner%2Fmcloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzebrunner%2Fmcloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzebrunner%2Fmcloud/lists"}