FROM golang:1.26-bookworm AS build WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=1 GOOS=linux go build -o opsxsql ./cmd/server/ FROM debian:bookworm-slim RUN apt-get update && apt-get install -y ca-certificates sqlite3 curl && apt-get clean && rm -rf /var/lib/apt/lists/* # Install gh-ost for online DDL RUN GH_OST_VERSION=1.1.9 && \ curl -fsSL -o /usr/local/bin/gh-ost "https://github.com/github/gh-ost/releases/download/v${GH_OST_VERSION}/gh-ost" && \ chmod +x /usr/local/bin/gh-ost WORKDIR /app COPY --from=build /app/opsxsql . COPY --from=build /app/cmd/server/seed.go /app/ COPY --from=build /app/config /app/config COPY --from=build /app/internal /app/internal COPY --from=build /app/router /app/router COPY --from=build /app/sqlite3.db.bak-before-seed ./ EXPOSE 9000 CMD ["./opsxsql"]