Files

31 lines
914 B
Docker

# Multi-stage build for Terraform Registry
#
# Stage 1: Build Go binary
# Stage 2: Minimal Alpine runtime
FROM golang:1.24-alpine AS builder
ENV GOTOOLCHAIN=auto
WORKDIR /app
COPY server/go.mod server/go.sum ./
RUN go mod download
COPY server/ .
RUN CGO_ENABLED=0 go build -o registry .
FROM alpine:3.21
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/registry /registry
# ── Non-secret config (change here → rebuild → push → redeploy) ─────────
ENV S3_ENDPOINT=s3.msk-1.ngcloud.ru \
S3_BUCKET=nubes-terraform-registry \
S3_PREFIX=tf-registry.containerk8s.services.ngcloud.ru \
REGISTRY_HOSTNAME=tf-registry.containerk8s.services.ngcloud.ru \
PORT=5000
# ── Secrets in UI jsonEnv: S3_ACCESS_KEY, S3_SECRET_KEY ───────────────────
RUN adduser -D -u 1000 registry
USER registry
EXPOSE 5000
CMD ["/registry"]