1234567891011121314151617181920212223242526272829 |
- # 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"]
|