Dockerfile.khatru-sqlite raw
1 FROM golang:1.25-alpine AS builder
2
3 RUN apk add --no-cache git ca-certificates sqlite-dev gcc musl-dev
4
5 WORKDIR /build
6 COPY . .
7
8 # Build the basic-sqlite3 example
9 RUN cd examples/basic-sqlite3 && \
10 go mod tidy && \
11 CGO_ENABLED=1 go build -o khatru-sqlite .
12
13 FROM alpine:latest
14 RUN apk --no-cache add ca-certificates sqlite wget
15 WORKDIR /app
16 COPY --from=builder /build/examples/basic-sqlite3/khatru-sqlite /app/
17 RUN mkdir -p /data
18 EXPOSE 8080
19 ENV DATABASE_PATH=/data/khatru.db
20 ENV PORT=8080
21 HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
22 CMD wget --quiet --tries=1 --spider http://localhost:8080 || exit 1
23 CMD ["/app/khatru-sqlite"]
24