# ── Build: use official V container to compile ──────────────────────────── FROM thevlang/vlang:alpine AS builder # Copy project source and build WORKDIR /src COPY . . RUN v install yaml RUN v -prod -o /ntfy-bridge . # ── Runtime: minimal image ──────────────────────────────────────────────── FROM alpine:3.20 RUN apk add --no-cache ca-certificates tzdata curl COPY --from=builder /ntfy-bridge /usr/local/bin/ntfy-bridge WORKDIR /etc/ntfy-bridge EXPOSE 9090 HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:9090/health || exit 1 ENTRYPOINT ["/usr/local/bin/ntfy-bridge"] CMD ["--quiet", "--config", "/etc/ntfy-bridge/ntfy-bridge.yaml"]