FROM golang:1.26-alpine AS builder
RUN apk add --no-cache git
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -o /crosslink ./cmd/server

FROM alpine:3.20
RUN apk add --no-cache ca-certificates tzdata
RUN adduser -D -H crosslink
COPY --from=builder /crosslink /usr/local/bin/crosslink
COPY deployments/docker/config.yaml /app/configs/config.yaml
COPY configs/providers.example.yaml /app/configs/providers.yaml
COPY migrations/ /app/migrations/
WORKDIR /app
USER crosslink
EXPOSE 8080
ENTRYPOINT ["crosslink"]
