29 lines
547 B
Docker
29 lines
547 B
Docker
FROM golang:1.26-alpine AS builder
|
|
|
|
# Set workdir
|
|
WORKDIR /lib/autocal
|
|
|
|
# Copy go modules
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
|
|
# Copy rest of source code
|
|
COPY . .
|
|
|
|
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o /lib/autocal/app .
|
|
|
|
# Final stage
|
|
FROM alpine:latest
|
|
|
|
RUN addgroup -S autocal_group && adduser -S autocal_user -G autocal_group
|
|
USER autocal_user
|
|
|
|
WORKDIR /lib/autocal
|
|
|
|
COPY --from=builder /lib/autocal/app .
|
|
COPY --from=builder /lib/autocal/credentials.json .
|
|
|
|
EXPOSE 4444
|
|
|
|
ENTRYPOINT ["/lib/autocal/app"]
|