# syntax = docker/dockerfile:1

ARG GO_VERSION=1.22.1
FROM docker.io/library/golang:${GO_VERSION} as builder

WORKDIR /app

COPY --link go.mod .
RUN go mod download

COPY --link . .

# RUN go vet ./...
ENV ENV=production
RUN go run ./cmd/build

RUN cp -r static/.well-known static/* public
ENV GOOS=linux GOARCH=amd64 CGO_ENABLED=0
RUN go build server.go

# Final stage for app image
FROM gcr.io/distroless/static

WORKDIR /app

# Copy built application
COPY --link config.toml .
COPY --from=builder /app/server server

# Start the server by default, this can be overwritten at runtime
EXPOSE 3000
EXPOSE 9091

ENV ENV=production
CMD [ "/app/server" ]