{"id":21391337,"url":"https://github.com/ottomatica/bakerx","last_synced_at":"2025-07-21T13:34:23.020Z","repository":{"id":38301757,"uuid":"229955460","full_name":"ottomatica/bakerx","owner":"ottomatica","description":"🍞🚀 Front-end for creating and managing virtual environments.","archived":false,"fork":false,"pushed_at":"2023-03-06T16:57:23.000Z","size":2156,"stargazers_count":8,"open_issues_count":15,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-07T15:22:50.637Z","etag":null,"topics":["virtual-environments","virtual-machine","vms"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ottomatica.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":"2019-12-24T14:27:20.000Z","updated_at":"2024-12-07T15:52:24.000Z","dependencies_parsed_at":"2023-02-14T19:16:23.090Z","dependency_job_id":null,"html_url":"https://github.com/ottomatica/bakerx","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ottomatica/bakerx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ottomatica%2Fbakerx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ottomatica%2Fbakerx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ottomatica%2Fbakerx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ottomatica%2Fbakerx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ottomatica","download_url":"https://codeload.github.com/ottomatica/bakerx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ottomatica%2Fbakerx/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265178369,"owners_count":23723245,"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":["virtual-environments","virtual-machine","vms"],"created_at":"2024-11-22T13:25:59.637Z","updated_at":"2025-07-13T17:30:50.301Z","avatar_url":"https://github.com/ottomatica.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bakerx | ![Bakerx CI](https://github.com/ottomatica/bakerx/workflows/Bakerx%20CI/badge.svg)\n\nBakerx is a front-end for creating and managing (micro) virtual environments. With bakerx you can quickly create a development environments to run you code. \n\nSee a running demo below: \n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./doc/img/demo.gif\"\u003e\n\u003c/p\u003e\n\n## Installation\n\n```bash\n$ npm install ottomatica/bakerx -g\n```\n\nOr, for local dev:\n\n```bash\ngit clone https://github.com/ottomatica/bakerx\ncd bakerx\nnpm install\nnpm link\n```\n\n## Using bakerx\n\n### Pulling images\n\nFirst, you need to pull an existing virtual machine image from a registry. Registries are basically the assets in a GitHub repository releases. Then you can pull an image by running the following commands:\n\n```\nbakerx pull alpine3.9-simple ottomatica/slim#images\n```\n\nSee [slim](https://github.com/ottomatica/slim) for instructions on how to create and publish an image. \n\n### Creating VMs\n\nAfter pulling images, you can create VMs that run those images. Simply run the command below:\n\n```\nbakerx run example_alpine_vm alpine3.9-simple --memory 2048\n```\n\n#### `bakerx run` arguments (optional)\n  - `--memory | -m \u003cAMOUNT\u003e`: set the amount of shared memory with your virtual machine.\n  - `--ip \u003cIP_ADDRESS\u003e`: configure a host-only interface for the virtual machine, with the specified IP address\n  - `--sync`: mount a shared folder from your _current working directory_ in `/bakerx` inside the virtual machine\n  - `--up \u003cPATH_TO_SCRIPT\u003e`: execute specified shell script inside the virtual machine after provisioned\n\n\u003e _Note: you can run `bakerx run --help` to see all CLI arguments and their description._\n\n### Connecting to VMs\n\nFinally, after creating the VM, you can ssh to it by running the command below:\n```\nbakerx ssh example_alpine_vm\n```\n\n### Using bakerx.yml file\n\nInstead of specifying CLI arguments when creating a VM, you can specify the details in a file called `bakerx.yml`, which is useful for storing in SCM:\n\n```yaml\nname: example_alpine_vm\nimage: alpine3.9-simple\nup: |                      # \u003c--- optional\n  apk update\n  apk add ansible\n```\nThen from same directory you can run `bakerx run` to create you VM.\n\nYou can also add multiple Bakerx VMs in `bakerx.yml` file, and running `bakerx run` will create them for you:\n```yaml\nservers:\n  - name: vm1\n    image: alpine3.9-simple\n  - name: vm2\n    image: alpine3.9-simple\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fottomatica%2Fbakerx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fottomatica%2Fbakerx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fottomatica%2Fbakerx/lists"}