# Development only. Not for production use. FROM golang:1.26-alpine AS builder RUN apk add --no-cache git build-base sqlite-dev ENV CGO_ENABLED=1 ENV GOCACHE=/go/cache ENV GOMODCACHE=/go/mod WORKDIR /src COPY go.mod go.sum ./ RUN --mount=type=cache,target=/go/cache \ --mount=type=cache,target=/go/mod \ go mod download COPY . . RUN --mount=type=cache,target=/go/cache \ --mount=type=cache,target=/go/mod \ go build -tags libsqlite3 -o /out/deliberi ./cmd/deliberi && \ go build -tags libsqlite3 -o /out/deliberi-bootstrap ./localinfra/cmd/deliberi-bootstrap FROM alpine:3.24 RUN apk add --no-cache ca-certificates sqlite-libs tini COPY --from=builder /out/deliberi /usr/local/bin/deliberi COPY --from=builder /out/deliberi-bootstrap /usr/local/bin/deliberi-bootstrap RUN chmod 0755 /usr/local/bin/deliberi /usr/local/bin/deliberi-bootstrap VOLUME /var/lib/deliberi EXPOSE 6565 ENTRYPOINT ["/sbin/tini", "--"] CMD ["sh", "-c", "if [ -f /usr/local/share/ca-certificates/caddy.crt ]; then update-ca-certificates; fi && test -r /shared/verified-emails.jsonl && /usr/local/bin/deliberi-bootstrap --file /shared/verified-emails.jsonl && exec /usr/local/bin/deliberi serve"]