25 lines
712 B
Docker
25 lines
712 B
Docker
# 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"]
|