2026-07-31 14:57:19 +00:00
|
|
|
# devbox-images
|
|
|
|
|
|
2026-07-31 16:58:46 +02:00
|
|
|
Dockerfiles for the Coder devbox image flavors (`base`, `base-config`, `php`, `ruby`, `react`,
|
|
|
|
|
`dotnet`, `vnc`, `flutter`, `flutter-vnc`), split out of the `homelab-komodo` repo's
|
|
|
|
|
`stacks/harry/coder/` so a Coder deployment other than `harry` can build/reference these images
|
|
|
|
|
without checking out all of homelab-komodo (which also carries unrelated stacks and secrets
|
|
|
|
|
conventions).
|
|
|
|
|
|
|
|
|
|
The Coder server + Terraform workspace template that actually *uses* these images (peer-to-peer
|
|
|
|
|
Claude Code/Kilo Code agent bridge, MCP wiring, etc.) still lives in `homelab-komodo`'s
|
|
|
|
|
`stacks/harry/coder/devenv/` — this repo is only the image build side.
|
|
|
|
|
|
|
|
|
|
## Building
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
./build_fast.sh # cached build, every flavor
|
|
|
|
|
./build_no_cache.sh # forced full rebuild, every flavor
|
|
|
|
|
# or build one directly:
|
|
|
|
|
docker compose build devbox-<flavor>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Every flavor but `base` builds `FROM` `base-config`** (`react`/`dotnet`/`vnc`/`flutter` directly,
|
|
|
|
|
`flutter-vnc` from `flutter`) — a `base-config/Dockerfile` change needs every flavor rebuilt, not
|
|
|
|
|
just the ones actively in use, or the others silently keep running the old layer with whatever
|
|
|
|
|
changed missing. Both build scripts cover every flavor for this reason; don't add a new flavor to
|
|
|
|
|
one without the other.
|
|
|
|
|
|
|
|
|
|
## Using from a remote Coder deployment
|
|
|
|
|
|
|
|
|
|
Point a Terraform `docker_image` reference (or an equivalent build step in another Coder
|
|
|
|
|
template) at an image built from this repo instead of `homelab-komodo`'s copy. Tag/push built
|
|
|
|
|
images to whatever registry that Coder deployment can pull from.
|