aboutsummaryrefslogtreecommitdiff
path: root/test/postgres/Dockerfile.producer
diff options
context:
space:
mode:
Diffstat (limited to 'test/postgres/Dockerfile.producer')
-rw-r--r--test/postgres/Dockerfile.producer35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/postgres/Dockerfile.producer b/test/postgres/Dockerfile.producer
new file mode 100644
index 000000000..98a91643b
--- /dev/null
+++ b/test/postgres/Dockerfile.producer
@@ -0,0 +1,35 @@
+FROM golang:1.24-alpine AS builder
+
+# Set working directory
+WORKDIR /app
+
+# Copy go mod files first for better caching
+COPY go.mod go.sum ./
+RUN go mod download
+
+# Copy source code
+COPY . .
+
+# Build the producer
+RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o producer ./test/postgres/producer.go
+
+# Final stage
+FROM alpine:latest
+
+# Install ca-certificates for HTTPS calls
+RUN apk --no-cache add ca-certificates curl
+
+WORKDIR /root/
+
+# Copy the binary from builder stage
+COPY --from=builder /app/producer .
+
+# Make it executable
+RUN chmod +x ./producer
+
+# Set environment variables with defaults
+ENV SEAWEEDFS_MASTER=localhost:9333
+ENV SEAWEEDFS_FILER=localhost:8888
+
+# Run the producer
+CMD ["./producer"]