{"id":22511233,"url":"https://github.com/renderedtext/mkvm","last_synced_at":"2025-03-28T00:41:07.204Z","repository":{"id":3152046,"uuid":"4181991","full_name":"renderedtext/mkvm","owner":"renderedtext","description":"Scripts for setting up a new virtual machine for development","archived":false,"fork":false,"pushed_at":"2012-05-05T15:28:06.000Z","size":120,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-02-02T02:28:53.873Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/renderedtext.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":"2012-04-30T11:07:35.000Z","updated_at":"2013-11-26T18:45:30.000Z","dependencies_parsed_at":"2022-09-20T17:02:20.144Z","dependency_job_id":null,"html_url":"https://github.com/renderedtext/mkvm","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/renderedtext%2Fmkvm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/renderedtext%2Fmkvm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/renderedtext%2Fmkvm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/renderedtext%2Fmkvm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/renderedtext","download_url":"https://codeload.github.com/renderedtext/mkvm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245949553,"owners_count":20698916,"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":[],"created_at":"2024-12-07T02:10:06.628Z","updated_at":"2025-03-28T00:41:07.164Z","avatar_url":"https://github.com/renderedtext.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mkvm - scripts for setting up a VirtualBox VM for development\n\n- On your host, make sure you have Ruby 1.9 and bundler gem\n- Clone this repo\n\n## Creating the VM\n\n- Download and install [VirtualBox](www.virtualbox.org)\n- Download [Ubuntu Server (11.10) 64-bit](http://releases.ubuntu.com/11.10/ubuntu-11.10-server-amd64.iso)\n- In VirtualBox, create a new Linux / Ubuntu 64-bit virtual machine and name it 'mybox'\n- Increase RAM (2+GB)\n- Continue with \"Start-up Disk\", VDI, Dynamically allocated\n- Increase disk size (20GB), wizard is done\n- Open VM's Settings\n- Attach the disk image (.iso) file to the machine's IDE controller (under Storage)\n- Increase CPU cores (2+, under System/Processor)\n- Start VM, go through the installation\n  - use the same username as on host\n  - guided - use entire disk\n  - do NOT encrypt home directory\n  - set hostname to 'mybox'\n  - no automatic updates\n  - choose to install OpenSSH server\n  - let it reboot\n- Power off the VM\n- Set up port forwarding (from host machine, assuming it's c 2222):\n\n```Bash\n    VBoxManage modifyvm \"mybox\" --natpf1 \"rails,tcp,,3000,,3000\"\n    VBoxManage modifyvm \"mybox\" --natpf1 \"guestssh,tcp,,2222,,22\"\n```\n\n- Add these lines to ~/.ssh/config on your host:\n\n```Bash\n    Host mybox\n      Hostname localhost\n      Port     2222\n      User     USER_NAME\n      ForwardX11 yes\n```\n\n## Bootstrapping\n\n- On host you might need to `rm ~/.ssh/known_hosts`\n- Start the VM\n- Copy the ssh configuration from the host:\n\n```Bash\n    rsync -av ~/.ssh mybox:\n```\n\n- ssh into the VM: ssh username@mybox\n- Copy the content of your local `~/.ssh/id_rsa.pub` into `~/.ssh/authorized_keys` on VM\n- Set up a bash alias in `~/.bash_profile`: `alias box=ssh -Y mybox`\n- Reconnect to VM with the new 'box' command\n- You can now turnoff the VM and save a snapshot of this blank state\n\n## Configuration\n\nChef cookbook `postgresql-bootstrap` creates a new user user and database cluster.\n\nPlace your username in `node[:postgresql_bootstrap][:username]` in\n`chef/config/main.json`. This should be the username you're using your VM\nwith.\n\n## Installing the stack\n\n    bundle install --path vendor/bundle\n    bundle exec cap install_stack SERVER=mybox USER=yourusername PORT=2222\n\n## License\n\nCopyright © 2012 [Rendered Text](http://renderedtext.com). mkvm is free software, and may be redistributed under the terms specified in the LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frenderedtext%2Fmkvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frenderedtext%2Fmkvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frenderedtext%2Fmkvm/lists"}