FROM golang:1.23-alpine AS builder

WORKDIR /app
COPY src/ ./src/
COPY go.mod go.sum ./

RUN go mod download
RUN CGO_ENABLED=0 GOOS=linux go build -o /chat-server ./src/main.go

FROM alpine:3.20
RUN apk --no-cache add ca-certificates
WORKDIR /app
COPY --from=builder /chat-server .
COPY config/ ./config/

EXPOSE 3000
CMD ["./chat-server"]