aboutsummaryrefslogtreecommitdiff
path: root/test/postgres/Dockerfile.client
diff options
context:
space:
mode:
Diffstat (limited to 'test/postgres/Dockerfile.client')
-rw-r--r--test/postgres/Dockerfile.client37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/postgres/Dockerfile.client b/test/postgres/Dockerfile.client
new file mode 100644
index 000000000..2b85bc76e
--- /dev/null
+++ b/test/postgres/Dockerfile.client
@@ -0,0 +1,37 @@
+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 client
+RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o client ./test/postgres/client.go
+
+# Final stage
+FROM alpine:latest
+
+# Install ca-certificates and netcat for health checks
+RUN apk --no-cache add ca-certificates netcat-openbsd
+
+WORKDIR /root/
+
+# Copy the binary from builder stage
+COPY --from=builder /app/client .
+
+# Make it executable
+RUN chmod +x ./client
+
+# Set environment variables with defaults
+ENV POSTGRES_HOST=localhost
+ENV POSTGRES_PORT=5432
+ENV POSTGRES_USER=seaweedfs
+ENV POSTGRES_DB=default
+
+# Run the client
+CMD ["./client"]