Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 34 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ docker run -it --rm \
Edit `.devcontainer/Dockerfile` to add `htop`:

```bash
$ vim .devcontainer/Dockerfile
vim .devcontainer/Dockerfile
```

```diff
Expand All @@ -53,6 +53,39 @@ Exit the container, and re-run the `docker run` command... after the build compl
> If you need to bypass this behavior for any reason, you can bypass this safety check by setting
> `ENVBUILDER_FORCE_SAFE=true`.

If you don't have a remote Git repo or you want to quickly iterate with some
local files, simply omit `ENVBUILDER_GIT_URL` and instead mount the directory
containing your code to `/workspaces/empty` inside the Envbuilder container.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is empty a magic name here? Or does any name work?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated to also mention ENVBUILDER_WORKSPACE_FOLDER.


For example:

```shell
# Create a sample Devcontainer and Dockerfile in the current directory
printf '{"build": { "dockerfile": "Dockerfile"}}' > devcontainer.json
printf 'FROM debian:bookworm\nRUN apt-get update && apt-get install -y cowsay' > Dockerfile

# Run envbuilder with the current directory mounted into `/workspaces/empty`.
# The instructions to add /usr/games to $PATH have been omitted for brevity.
docker run -it --rm -e ENVBUILDER_INIT_SCRIPT='bash' -v $PWD:/workspaces/empty ghcr.io/coder/envbuilder:latest
```

Alternatively, if you prefer to mount your project files elsewhere, tell
Envbuilder where to find them by specifying `ENVBUILDER_WORKSPACE_FOLDER`:

```shell
docker run -it --rm -e ENVBUILDER_INIT_SCRIPT='bash ' -e ENVBUILDER_WORKSPACE_FOLDER=/src -v $PWD:/src ghcr.io/coder/envbuilder:latest
```

By default, Envbuilder will look for a `devcontainer.json` or `Dockerfile` in
both `${ENVBUILDER_WORKSPACE_FOLDER}` and `${ENVBUILDER_WORKSPACE_FOLDER}/.devcontainer`.
You can control where it looks with `ENVBUILDER_DEVCONTAINER_DIR` if needed.

```shell
ls build/
Dockerfile devcontainer.json
docker run -it --rm -e ENVBUILDER_INIT_SCRIPT='bash' -e ENVBUILDER_DEVCONTAINER_DIR=build -v $PWD:/src ghcr.io/coder/envbuilder:latest
```

## Usage with Coder

Coder provides sample
Expand Down