# Test Dockerfile for ZephyrFS Node FROM rust:1.75-slim as builder # Install dependencies RUN apt-get update && apt-get install -y \ pkg-config \ libssl-dev \ protobuf-compiler \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Copy source code COPY . . # Build the application RUN cargo build --release # Runtime stage FROM debian:bookworm-slim # Install runtime dependencies RUN apt-get update && apt-get install -y \ ca-certificates \ wget \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Copy binary from builder COPY --from=builder /app/target/release/zephyrfs-node . # Create data directory RUN mkdir -p /data # Set environment variables ENV RUST_LOG=debug ENV RUST_BACKTRACE=1 # Expose ports EXPOSE 4001 8080 # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ CMD ./zephyrfs-node health-check || exit 1 # Run the node CMD ["./zephyrfs-node", "start"]