From 1aefbae95e09941ca6dcd492fb2ccb16db694a66 Mon Sep 17 00:00:00 2001 From: Dimitris Karvounis <1+jimkarvo@jksoftware.gr> Date: Mon, 22 Jun 2026 09:32:44 +0000 Subject: [PATCH] feat: add sqlite3 CLI + jq for manual user mappings --- Dockerfile | 53 +---------------------------------------------------- 1 file changed, 1 insertion(+), 52 deletions(-) diff --git a/Dockerfile b/Dockerfile index 873a6c1..bf44193 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,52 +1 @@ -# Build stage -FROM golang:1.24-alpine AS builder - -# Install build dependencies -RUN apk add --no-cache gcc musl-dev sqlite-dev - -WORKDIR /app - -# Copy go mod files -COPY go.mod go.sum ./ -RUN go mod download - -# Copy source code -COPY . . - -# Build with CGO for SQLite -ENV CGO_ENABLED=1 -RUN go build -ldflags="-s -w" -o /gitea-notification-hub ./cmd/server - -# Runtime stage -FROM alpine:3.19 - -# Install runtime dependencies -RUN apk add --no-cache ca-certificates sqlite-libs tzdata - -# Create non-root user -RUN adduser -D -g '' appuser - -WORKDIR /app - -# Copy binary from builder -COPY --from=builder /gitea-notification-hub . - -# Copy entrypoint script -COPY docker-entrypoint.sh . -RUN chmod +x docker-entrypoint.sh - -# Create data directory -RUN mkdir -p /app/data && chown -R appuser:appuser /app - -# Switch to non-root user -USER appuser - -# Expose port -EXPOSE 8080 - -# Health check -HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ - CMD wget --no-verbose --tries=1 --spider http://localhost:8080/health || exit 1 - -# Run -ENTRYPOINT ["/bin/sh", "./docker-entrypoint.sh"] +IyBCdWlsZCBzdGFnZQpGUk9NIGdvbGFuZzoxLjI0LWFscGluZSBBUyBidWlsZGVyCgojIEluc3RhbGwgYnVpbGQgZGVwZW5kZW5jaWVzClJVTiBhcGsgYWRkIC0tbm8tY2FjaGUgZ2NjIG11c2wtZGV2IHNxbGl0ZS1kZXYKCldPUktESVIgL2FwcAoKIyBDb3B5IGdvIG1vZCBmaWxlcwpDT1BZIGdvLm1vZCBnby5zdW0gLi8KUlVOIGdvIG1vZCBkb3dubG9hZAoKIyBDb3B5IHNvdXJjZSBjb2RlCkNPUFkgLiAuCgojIEJ1aWxkIHdpdGggQ0dPIGZvciBTUUxpdGUKRU5WIENHT19FTkFCTEVEPTEKUlVOIGdvIGJ1aWxkIC1sZGZsYWdzPSItcyAtdyIgLW8gL2dpdGVhLW5vdGlmaWNhdGlvbi1odWIgLi9jbWQvc2VydmVyCgojIFJ1bnRpbWUgc3RhZ2UKRlJPTSBhbHBpbmU6My4xOQoKIyBJbnN0YWxsIHJ1bnRpbWUgZGVwZW5kZW5jaWVzIChzcWxpdGUgQ0xJICsganEgZm9yIG1hbnVhbCBtYXBwaW5ncykKUlVOIGFwayBhZGQgLS1uby1jYWNoZSBjYS1jZXJ0aWZpY2F0ZXMgc3FsaXRlLWxpYnMgdHpkYXRhIHNxbGl0ZSBqcQoKIyBDcmVhdGUgbm9uLXJvb3QgdXNlcgpSVU4gYWRkdXNlciAtRCAtZyAnJyBhcHB1c2VyCgpXT1JLRElSIC9hcHAKCiMgQ29weSBiaW5hcnkgZnJvbSBidWlsZGVyCkNPUFkgLS1mcm9tPWJ1aWxkZXIgL2dpdGVhLW5vdGlmaWNhdGlvbi1odWIgLgoKIyBDb3B5IGVudHJ5cG9pbnQgc2NyaXB0CkNPUFkgZG9ja2VyLWVudHJ5cG9pbnQuc2ggLgpSVU4gY2htb2QgK3ggZG9ja2VyLWVudHJ5cG9pbnQuc2gKCiMgQ3JlYXRlIGRhdGEgZGlyZWN0b3J5ClJVTiBta2RpciAtcCAvYXBwL2RhdGEgJiYgY2hvd24gLVIgYXBwdXNlcjphcHB1c2VyIC9hcHAKCiMgU3dpdGNoIHRvIG5vbi1yb290IHVzZXIKVVNFUiBhcHB1c2VyCgojIEV4cG9zZSBwb3J0CkVYUE9TRSA4MDgwCgojIEhlYWx0aCBjaGVjawpIRUFMVEhDSEVDSyAtLWludGVydmFsPTMwcyAtLXRpbWVvdXQ9M3MgLS1zdGFydC1wZXJpb2Q9NXMgLS1yZXRyaWVzPTMgXAogICAgQ01EIHdnZXQgLS1uby12ZXJib3NlIC0tdHJpZXM9MSAtLXNwaWRlciBodHRwOi8vbG9jYWxob3N0OjgwODAvaGVhbHRoIHx8IGV4aXQgMQoKIyBSdW4KRU5UUllQT0lOVCBbIi9iaW4vc2giLCAiLi9kb2NrZXItZW50cnlwb2ludC5zaCJdCg== \ No newline at end of file