# syntax=docker/dockerfile:1.7 FROM oven/bun:1.4.0-alpine AS ui WORKDIR /src/ui COPY ui/package.json ui/bun.lock ./ RUN bun install --frozen-lockfile COPY ui ./ RUN bun run build FROM golang:1.24-alpine AS build WORKDIR /src RUN apk add --no-cache git COPY go.mod go.sum ./ RUN go mod download COPY cmd ./cmd COPY internal ./internal COPY --from=ui /src/internal/adminui/dist ./internal/adminui/dist RUN CGO_ENABLED=0 go build -trimpath -ldflags='-s -w' -o /pawsql ./cmd/pawsql FROM alpine:3.21 RUN apk add --no-cache ca-certificates docker-cli COPY --from=build /pawsql /usr/local/bin/pawsql EXPOSE 5432 ENTRYPOINT ["/usr/local/bin/pawsql"] CMD ["--config", "/etc/pawsql/Barkfile", "--admin-listen", ":9090"]