# syntax=docker/dockerfile:1 FROM golang:1.25.1-alpine AS build WORKDIR /src COPY platform/go.mod ./ RUN go mod download COPY platform/ ./ RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -o /out/platform ./cmd/platform FROM alpine:3.21 RUN addgroup -S platform && adduser -S platform -G platform WORKDIR /app COPY --from=build /out/platform /app/platform RUN mkdir -p /data/platform && chown -R platform:platform /data/platform USER platform EXPOSE 8080 ENV PLATFORM_ADDR=:8080 \ PLATFORM_STORAGE_BACKEND=file \ PLATFORM_MYSQL_DSN="" \ PLATFORM_DATA_DIR=/data/platform \ PLATFORM_METADATA_PATH=/data/platform/metadata.json \ PLATFORM_LOG_BODY_BACKEND=file \ PLATFORM_LOG_DIR=/data/platform/logs ENTRYPOINT ["/app/platform"]