## syntax=docker/dockerfile:1.4 FROM golang:1.23-alpine AS builder WORKDIR /src COPY go.mod ./ COPY go.sum* ./ COPY . . RUN --network=host go mod tidy RUN --network=host go mod download RUN CGO_ENABLED=0 GOOS=linux go build -o /out/nexavpn-api ./cmd/api FROM alpine:3.21 WORKDIR /app COPY --from=builder /out/nexavpn-api /usr/local/bin/nexavpn-api COPY migrations ./migrations COPY seed ./seed EXPOSE 8080 ENTRYPOINT ["/usr/local/bin/nexavpn-api"]