25 lines
750 B
Docker
25 lines
750 B
Docker
# 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"]
|