22 lines
466 B
Docker
22 lines
466 B
Docker
FROM golang:1.22-alpine AS builder
|
|
WORKDIR /build
|
|
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download && go mod verify
|
|
|
|
COPY cmd/shortlinks cmd/shortlinks
|
|
COPY pkg pkg
|
|
COPY internal internal
|
|
|
|
RUN GOEXPERIMENT=boringcrypto go build -ldflags "-s -w" -o ./app ./cmd/shortlinks
|
|
RUN chmod +x ./app
|
|
|
|
FROM alpine:3.21.2 AS production
|
|
WORKDIR /backend
|
|
|
|
COPY --from=builder /build/app .
|
|
COPY deploy/shortlinks-config.yaml ./config.yaml
|
|
|
|
EXPOSE 8080
|
|
|
|
CMD ["./app", "-c", "config.yaml"] |