{"id":51023000,"url":"https://github.com/thomas-illiet/coder-builder","last_synced_at":"2026-06-21T17:30:26.524Z","repository":{"id":360250088,"uuid":"1249240007","full_name":"thomas-illiet/coder-builder","owner":"thomas-illiet","description":"Builds custom Docker images from the coder repository","archived":false,"fork":false,"pushed_at":"2026-05-25T17:24:20.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-25T17:31:44.156Z","etag":null,"topics":["build","coder","docker","script"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thomas-illiet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-25T13:48:55.000Z","updated_at":"2026-05-25T17:26:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/thomas-illiet/coder-builder","commit_stats":null,"previous_names":["thomas-illiet/coder-builder"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/thomas-illiet/coder-builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-illiet%2Fcoder-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-illiet%2Fcoder-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-illiet%2Fcoder-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-illiet%2Fcoder-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomas-illiet","download_url":"https://codeload.github.com/thomas-illiet/coder-builder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-illiet%2Fcoder-builder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34620358,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["build","coder","docker","script"],"created_at":"2026-06-21T17:30:25.727Z","updated_at":"2026-06-21T17:30:26.518Z","avatar_url":"https://github.com/thomas-illiet.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Coder Builder\n\n![Custom Coder Builder hacker banner](docs/assets/banner.svg)\n\nCoder Builder builds custom Docker images from the [coder/coder](https://github.com/coder/coder) repository while keeping Coder's upstream build path intact. It resolves a Coder ref, prepares an isolated worktree, applies optional file overrides, and builds validated Linux Docker images for the platforms you choose.\n\n## Quick Start\n\nCheck the local Docker wrapper path first:\n\n```bash\nmake doctor\n```\n\nPreview a build without cloning, building, or pushing:\n\n```bash\nmake dry-run REF=latest-release TAG=test PLATFORM=linux\n```\n\nBuild locally:\n\n```bash\nmake build REF=latest-release TAG=dev PLATFORM=linux\n```\n\nStart the built image and verify Coder answers `/healthz`:\n\n```bash\nmake smoke-run IMAGE=coder-custom TAG=dev\n```\n\nGitHub Actions builds only the `linux/amd64` Docker image and limits the\nembedded slim CLI archive to `linux_amd64` plus `darwin_arm64`.\n\nBuild an ARM image:\n\n```bash\nmake build REF=latest-release TAG=dev PLATFORM=arm\n```\n\nPublish multi-arch images to GHCR:\n\n```bash\nmake push IMAGE=ghcr.io/OWNER/REPO/coder TAG=latest PLATFORM=all\n```\n\n## Platforms\n\n`PLATFORM` selects Docker image targets:\n\n| Value | Result |\n| --- | --- |\n| `linux` | Build `linux/amd64` as `\u003cimage\u003e:v\u003cversion\u003e-amd64`. |\n| `arm` | Build `linux/arm64` as `\u003cimage\u003e:v\u003cversion\u003e-arm64`. |\n| `all` | Build `linux/amd64` and `linux/arm64`; with `--push`, publish a multi-arch manifest. |\n\n`arm` is a Linux Docker image target, not a `darwin_arm64` macOS build. To\nlimit the embedded slim CLI archive to Apple Silicon macOS, use\n`EMBEDDED_OS_ARCHES=darwin_arm64`. Windows and Darwin are not Docker image\ntargets in upstream Coder; they require separate binary/archive workflows.\n\n## Project Layout\n\n```text\n.\n|-- Makefile                    # Friendly command surface\n|-- scripts/\n|   |-- build-coder.py           # Main build orchestrator\n|   |-- build-coder-in-docker.py # linux/amd64 Docker wrapper\n|   |-- smoke-run-coder.py       # Runtime startup smoke test\n|   `-- doctor.py                # Dependency checker\n|-- Dockerfile                   # Reusable builder image\n|-- overrides/                   # Path-mirrored file overrides\n|-- docs/                        # Project documentation\n`-- .github/workflows/           # Smoke checks and GHCR publishing\n```\n\n## Documentation\n\n- [Dependencies](docs/dependencies.md)\n- [Build Guide](docs/build.md)\n- [Configuration](docs/configuration.md)\n- [Architecture](docs/architecture.md)\n- [Overrides](docs/overrides.md)\n- [Build Workflow](docs/workflow.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomas-illiet%2Fcoder-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomas-illiet%2Fcoder-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomas-illiet%2Fcoder-builder/lists"}