{"id":13563594,"url":"https://github.com/dziemba/mobymac","last_synced_at":"2025-04-03T20:31:13.943Z","repository":{"id":27069152,"uuid":"105045889","full_name":"dziemba/mobymac","owner":"dziemba","description":"Automagically install Docker in a VirtualBox VM with super-fast NFS mounts.","archived":true,"fork":false,"pushed_at":"2021-12-13T00:10:18.000Z","size":77,"stargazers_count":81,"open_issues_count":2,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-04T16:44:48.439Z","etag":null,"topics":["docker","docker-machine","nfs","virtualbox"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dziemba.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-27T17:04:57.000Z","updated_at":"2024-07-25T18:41:54.000Z","dependencies_parsed_at":"2022-07-14T18:47:23.235Z","dependency_job_id":null,"html_url":"https://github.com/dziemba/mobymac","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dziemba%2Fmobymac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dziemba%2Fmobymac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dziemba%2Fmobymac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dziemba%2Fmobymac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dziemba","download_url":"https://codeload.github.com/dziemba/mobymac/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247074539,"owners_count":20879266,"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":["docker","docker-machine","nfs","virtualbox"],"created_at":"2024-08-01T13:01:21.165Z","updated_at":"2025-04-03T20:31:13.681Z","avatar_url":"https://github.com/dziemba.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# mobymac\n\nAutomagically install Docker in a VirtualBox VM with super-fast NFS mounts.\n\n## What does it do?\n\n- Uninstall Docker for Mac\n- Install Virtualbox\n- Install docker client binaries\n- Create a Vagrant VM with Docker installed\n- Automatically start VM on boot/login\n- Set up NFS mounts for VM\n- Set up docker environment in `.bash_profile`, `.zprofile` or `fish.config` (optional!)\n\n## Installation\n\n1. Clone this repo:\n  ```bash\n  git clone https://github.com/dziemba/mobymac.git ~/.mobymac\n  cd ~/.mobymac\n  ```\n  \n  You can use a different path if you like. \n  The directory needs to stay where it is though after running the installer, otherwise the VM won't boot the next time.\n\n2. Run the installer\n  ```bash\n  # Install with default settings\n  # (4096MB RAM, 50GB data disk, automatic shell integration, VM IP: 192.168.42.2)\n  ./install.sh\n\n  # Or run the installer with custom settings\n  # ./install.sh [VM memory in MB] [data disk size in GB] [shell integration] [VM IP subnet]\n  ./install.sh 2048\n  ./install.sh 2048 30\n  ./install.sh 2048 30 manual\n  ./install.sh 2048 30 manual 192.168.142\n  ```\n\n- Shell integration can be either `auto` (default) or `manual`.\n- IP subnet must be in the form of `a.b.c`.\n- The host will use `a.b.c.1`, the VM will use `a.b.c.2`.\n\n## Updating / Reinstallation\n\nIt's the same as installing - just run it again!\n\n## Uninstalling\n\nRun `./uninstall.sh` in your mobymac checkout.\n\n## Known Limitations\n\n- Filesystem watching (inotify) [does not work](https://stackoverflow.com/questions/4231243/inotify-with-nfs).\n  Please use polling instead if possible. See https://github.com/dziemba/mobymac/issues/6\n- NFS mounts have less guarantees regarding FS consistency - in practise it should just work (tm)\n- Ports are not mapped to localhost - use `192.168.42.2` to access docker ports\n- Virtualbox (and thus mobymac) doesn't work on Apple Silicon / M1 Chips\n\n## Why?\n\n- File system access is still slow in Docker for Mac: https://github.com/docker/roadmap/issues/7\n- DNS queries with large responses are extremely slow: https://github.com/docker/for-mac/issues/4430\n- Docker Desktop is [no longer free](https://www.docker.com/blog/updating-product-subscriptions/) for certain use-cases.\n\nDocker for Mac is an awesome project - use it if you can.\nOnce the above issues have been resolved, this project will become obsolete.\n\n## Troubleshooting\n\n### `Cannot connect to the Docker daemon at tcp://192.168.42.2:2376. Is the docker daemon running?`\n\n1. Start the VM: `VBoxManage startvm mobymac --type headless`\n2. If that doesn't help, re-install mobymac.\n\n### Virtualbox Installation fails\n\n1. Uninstall virtualbox: `brew cask uninstall virtualbox`\n2. If the above step failed: reboot and try again\n3. Install virtualbox: `brew cask install virtualbox`\n4. If the above step failed: Open *System Preferences -\u003e Security \u0026 Privacy -\u003e General*, then allow the kernel extension.\n   Reboot and try step 3 again.\n5. Run the mobymac installer (again).\n6. If that still fails, try the whole process one more time and reboot generously.\n   Open an Issue on this project if you're still having trouble.\n\n### Creating the VM fails (VirtualBox error)\n\n1. If the above step failed: Open *System Preferences -\u003e Security \u0026 Privacy -\u003e General*, then allow the kernel extension.\n2. Reboot your computer.\n2. Run the mobymac installer (again).\n\n### `exports: ... conflicts with existing export ...`\n\n1. Open /etc/exports: `sudo vim /etc/exports`\n2. Delete all content\n3. Run the mobymac installer (again).\n\n### `Permission denied @ apply2files - /usr/local/lib/docker/cli-plugins`\n\n1. Run `sudo rm -rf /usr/local/lib/docker`\n2. Run the mobymac installer (again).\n\n### Other Problems\n\nPlease open an issue if you're stuck.\n\n## Contributing\n\nFeel free to open issues about feature requests or create PRs.\n\n## License\n\nMIT, see [LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdziemba%2Fmobymac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdziemba%2Fmobymac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdziemba%2Fmobymac/lists"}