Dockerfile 605 B

1234567891011121314151617181920212223242526272829
  1. # Build stage
  2. FROM golang:1.22.10-alpine AS builder
  3. RUN apk add --no-cache git make gcc musl-dev sqlite-dev
  4. WORKDIR /app
  5. COPY go.mod go.sum ./
  6. RUN go mod download
  7. COPY . .
  8. RUN CGO_ENABLED=1 GOOS=linux go build -o byom-core .
  9. FROM alpine:3.19
  10. RUN apk add --no-cache ca-certificates tzdata sqlite sqlite-dev
  11. RUN adduser -D -H -h /app appuser
  12. WORKDIR /app
  13. COPY --from=builder /app/byom-core .
  14. COPY config.yaml .
  15. RUN mkdir -p /app/data && \
  16. chown -R appuser:appuser /app
  17. USER appuser
  18. EXPOSE 8443
  19. ENV CONFIG_FILE=/app/config.yaml
  20. ENTRYPOINT ["./byom-core", "serve", "--config", "/app/config.yaml"]