fix: use absolute paths and static linking in Dockerfile #49
11
Dockerfile
11
Dockerfile
@@ -42,6 +42,13 @@ COPY . .
|
|||||||
# Run all checks (fmt-check, lint, test, build)
|
# Run all checks (fmt-check, lint, test, build)
|
||||||
RUN make check
|
RUN make check
|
||||||
|
|
||||||
|
# Rebuild with static linking for Alpine runtime.
|
||||||
|
# make check already verified formatting, linting, tests, and compilation.
|
||||||
|
# The CGO binary from `make build` is dynamically linked against glibc,
|
||||||
|
# which doesn't exist on Alpine (musl). Rebuild with static linking so
|
||||||
|
# the binary runs on Alpine without glibc.
|
||||||
|
RUN CGO_ENABLED=1 go build -ldflags '-extldflags "-static"' -o bin/webhooker ./cmd/webhooker
|
||||||
|
|
||||||
# alpine:3.21 — 2026-03-01
|
# alpine:3.21 — 2026-03-01
|
||||||
FROM alpine@sha256:c3f8e73fdb79deaebaa2037150150191b9dcbfba68b4a46d70103204c53f4709
|
FROM alpine@sha256:c3f8e73fdb79deaebaa2037150150191b9dcbfba68b4a46d70103204c53f4709
|
||||||
|
|
||||||
@@ -54,7 +61,7 @@ RUN addgroup -g 1000 -S webhooker && \
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Copy binary from builder
|
# Copy binary from builder
|
||||||
COPY --from=builder /build/bin/webhooker .
|
COPY --from=builder /build/bin/webhooker /app/webhooker
|
||||||
|
|
||||||
# Create data directory for all SQLite databases (main app DB +
|
# Create data directory for all SQLite databases (main app DB +
|
||||||
# per-webhook event DBs). DATA_DIR defaults to /data in production.
|
# per-webhook event DBs). DATA_DIR defaults to /data in production.
|
||||||
@@ -69,4 +76,4 @@ EXPOSE 8080
|
|||||||
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
||||||
CMD wget --no-verbose --tries=1 --spider http://localhost:8080/.well-known/healthcheck || exit 1
|
CMD wget --no-verbose --tries=1 --spider http://localhost:8080/.well-known/healthcheck || exit 1
|
||||||
|
|
||||||
CMD ["./webhooker"]
|
CMD ["/app/webhooker"]
|
||||||
|
|||||||
Reference in New Issue
Block a user