forked from molecule-ai/molecule-core
Tenant machines were booting with no templates because the Dockerfile
only shipped the Go binary + migrations. The canvas showed "0 templates"
with an empty picker.
Changes:
- platform/Dockerfile: build context changed from ./platform to repo
root so COPY can reach workspace-configs-templates/ alongside the
Go source. COPY paths updated for platform/{go.mod,go.sum,*.go} and
platform/migrations/.
- .github/workflows/publish-platform-image.yml: context: . (was
./platform), paths trigger now includes workspace-configs-templates/
so template changes rebuild the image.
Phase A of the template-registry plan. Phase B adds a DB registry +
on-demand fetch for community templates (user pastes GitHub URL at
workspace creation time). The baked defaults always ship in the image
for zero-config tenant boot.
Verified: `docker build -f platform/Dockerfile -t test .` succeeds,
`docker run --rm test ls /workspace-configs-templates/` shows all 8
templates (autogen, claude-code-default, crewai, deepagents, gemini-cli,
hermes, langgraph, openclaw).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
24 lines
998 B
Docker
24 lines
998 B
Docker
# Build context: repo root (not ./platform) so we can COPY both the Go
|
|
# source and the workspace-configs-templates directory that lives beside it.
|
|
# CI workflow sets `context: .` and `file: ./platform/Dockerfile`.
|
|
|
|
FROM golang:1.25-alpine AS builder
|
|
WORKDIR /app
|
|
COPY platform/go.mod platform/go.sum ./
|
|
RUN go mod download
|
|
COPY platform/ .
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -o /platform ./cmd/server
|
|
|
|
FROM alpine:3.20
|
|
# git is required by the `github` SourceResolver for plugin installs from
|
|
# GitHub URLs (POST /workspaces/:id/plugins {"source": "github://..."}).
|
|
RUN apk add --no-cache ca-certificates git tzdata
|
|
COPY --from=builder /platform /platform
|
|
COPY platform/migrations /migrations
|
|
# Default templates baked into the image so tenants boot with a working
|
|
# template picker. Phase B adds a registry + on-demand fetch for
|
|
# community templates; these curated defaults always ship in the image.
|
|
COPY workspace-configs-templates /workspace-configs-templates
|
|
EXPOSE 8080
|
|
CMD ["/platform"]
|