24 lines
955 B
Docker
24 lines
955 B
Docker
# See services/iam/Dockerfile for the pattern explanation. Workspace
|
|
# additionally needs common CLI tools available inside the container
|
|
# for run_bash_command (git, go, node, python...) — extend this image's
|
|
# second stage as your allowlist (ENKLY_BASH_ALLOWLIST) requires; kept
|
|
# minimal here since the allowlist itself is operator-configured.
|
|
FROM golang:1.23-bookworm AS build
|
|
WORKDIR /src
|
|
COPY go.mod go.sum* ./
|
|
COPY gen/ gen/
|
|
COPY pkg/ pkg/
|
|
COPY services/workspace/ services/workspace/
|
|
RUN go mod tidy
|
|
RUN CGO_ENABLED=0 go build -o /out/workspace-server ./services/workspace/cmd/server
|
|
|
|
FROM debian:bookworm-slim
|
|
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates git && rm -rf /var/lib/apt/lists/*
|
|
WORKDIR /app
|
|
COPY --from=build /out/workspace-server ./workspace-server
|
|
ENV ENKLY_WORKSPACE_GRPC_ADDR=:9004
|
|
ENV ENKLY_WORKSPACE=/data/workspace
|
|
VOLUME ["/data/workspace"]
|
|
EXPOSE 9004
|
|
ENTRYPOINT ["./workspace-server"]
|