aboutsummaryrefslogtreecommitdiff
path: root/test/s3/iam/Dockerfile.s3
diff options
context:
space:
mode:
Diffstat (limited to 'test/s3/iam/Dockerfile.s3')
-rw-r--r--test/s3/iam/Dockerfile.s333
1 files changed, 33 insertions, 0 deletions
diff --git a/test/s3/iam/Dockerfile.s3 b/test/s3/iam/Dockerfile.s3
new file mode 100644
index 000000000..36f0ead1f
--- /dev/null
+++ b/test/s3/iam/Dockerfile.s3
@@ -0,0 +1,33 @@
+# Multi-stage build for SeaweedFS S3 with IAM
+FROM golang:1.23-alpine AS builder
+
+# Install build dependencies
+RUN apk add --no-cache git make curl wget
+
+# Set working directory
+WORKDIR /app
+
+# Copy source code
+COPY . .
+
+# Build SeaweedFS with IAM integration
+RUN cd weed && go build -o /usr/local/bin/weed
+
+# Final runtime image
+FROM alpine:latest
+
+# Install runtime dependencies
+RUN apk add --no-cache ca-certificates wget curl
+
+# Copy weed binary
+COPY --from=builder /usr/local/bin/weed /usr/local/bin/weed
+
+# Create directories
+RUN mkdir -p /etc/seaweedfs /data
+
+# Health check
+HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
+ CMD wget --quiet --tries=1 --spider http://localhost:8333/ || exit 1
+
+# Set entrypoint
+ENTRYPOINT ["/usr/local/bin/weed"]