sojuboy/Dockerfile
Thomas Cravey 2954e85e7a feat: initial Beta 1 release
- soju raw connector with event playback and CHATHISTORY fallback
- SQLite store with msgid de-dup and retention job
- Mentions + Pushover + tuning; structured JSON logs
- Summaries: concise, link-following, multi-line grouping
- HTTP: /healthz, /ready, /tail, /trigger, /metrics
- Docker: distroless, healthcheck, version metadata
- Docs: README, CHANGELOG, compose
2025-08-15 18:06:28 -05:00

23 lines
712 B
Docker

# Build stage
FROM golang:1.23-alpine AS build
WORKDIR /src
COPY . .
ARG VERSION=dev
ARG VCS_REF=unknown
ARG BUILD_DATE
RUN --mount=type=cache,target=/root/.cache/go-build \
--mount=type=cache,target=/go/pkg/mod \
apk add --no-cache ca-certificates && \
CGO_ENABLED=0 go build -ldflags "-s -w -X main.version=${VERSION} -X main.commit=${VCS_REF} -X main.builtAt=${BUILD_DATE}" -o /out/sojuboy ./cmd/sojuboy
# Final image
FROM gcr.io/distroless/static
WORKDIR /
COPY --from=build /out/sojuboy /sojuboy
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=3s --retries=3 CMD ["/sojuboy","--health"]
ENTRYPOINT ["/sojuboy"]