#Build stage
FROM golang:1.25.4-alpine3.22 AS builder

WORKDIR /api

COPY . .

RUN go build -o main ./cmd/api


#Run stage
FROM alpine:3.22
WORKDIR /api

COPY --from=builder /api/main .
COPY api.env .
COPY start.sh .
COPY wait-for.sh .
COPY cmd/db/migrations ./cmd/db/migrations

EXPOSE 8080
EXPOSE 9090

CMD [ "/api/main" ]
ENTRYPOINT [ "/api/start.sh" ]
