|
@@ -0,0 +1,29 @@
|
|
|
+# Build stage
|
|
|
+FROM golang:1.22.10-alpine AS builder
|
|
|
+
|
|
|
+RUN apk add --no-cache git make gcc musl-dev sqlite-dev
|
|
|
+
|
|
|
+WORKDIR /app
|
|
|
+
|
|
|
+COPY go.mod go.sum ./
|
|
|
+RUN go mod download
|
|
|
+COPY . .
|
|
|
+RUN CGO_ENABLED=1 GOOS=linux go build -o byom-core .
|
|
|
+
|
|
|
+
|
|
|
+FROM alpine:3.19
|
|
|
+
|
|
|
+RUN apk add --no-cache ca-certificates tzdata sqlite sqlite-dev
|
|
|
+RUN adduser -D -H -h /app appuser
|
|
|
+WORKDIR /app
|
|
|
+COPY --from=builder /app/byom-core .
|
|
|
+COPY config.yaml .
|
|
|
+
|
|
|
+RUN mkdir -p /app/data && \
|
|
|
+ chown -R appuser:appuser /app
|
|
|
+
|
|
|
+USER appuser
|
|
|
+EXPOSE 8443
|
|
|
+ENV CONFIG_FILE=/app/config.yaml
|
|
|
+
|
|
|
+ENTRYPOINT ["./byom-core", "serve", "--config", "/app/config.yaml"]
|