# VM setup - Create docker image ## Install git, Node.js and yarn - `sudo apt-get update` - `sudo apt-get install -y git` - Install [nvm](https://github.com/nvm-sh/nvm#installing-and-updating). - Install Node.js: `nvm install 12` - Install yarn: `npm install --global yarn` ## Checkout repository - `git clone ` ## Build docker image - `/scripts/create-image.sh [[:] [--build-arg = ...]]` - You can overwrite the default environment variables inside the image, by passing new values using `--build-arg`. **Note:** The script has to execute docker commands with `sudo`. ## Example The following commands would create a docker image from GitHub repo `foo/bar` to be deployed on the `foobar-builds.io` domain and accepting PR deployments from authors that are members of the `bar-core` and `bar-docs-authors` teams of organization `foo`: - `git clone https://github.com/foo/bar.git foobar` - Run: ```sh ./foobar/aio-builds-setup/scripts/create-image.sh foobar-builds \ --build-arg AIO_REPO_SLUG=foo/bar \ --build-arg AIO_DOMAIN_NAME=foobar-builds.io \ --build-arg AIO_GITHUB_ORGANIZATION=foo \ --build-arg AIO_GITHUB_TEAM_SLUGS=bar-core,bar-docs-authors ``` A full list of the available environment variables can be found [here](image-config--environment-variables.md).