# ---- Build stage ----
FROM golang:1.23-alpine AS builder

WORKDIR /src

# Cache module downloads.
COPY go.mod go.sum ./
RUN go mod download

COPY . .

# CGO disabled — using modernc.org/sqlite (pure Go).
RUN CGO_ENABLED=0 go build -o /app/bridge ./cmd/bridge

# ---- Runtime stage ----
FROM alpine:3.20

RUN apk add --no-cache ca-certificates tzdata

WORKDIR /app

COPY --from=builder /app/bridge .

# Ensure data directory exists for SQLite volume mount.
RUN mkdir -p /app/data

EXPOSE 8080

ENTRYPOINT ["./bridge"]
