# ⚠️ DEPRECATED: DO NOT USE THIS DOCKERFILE ⚠️ # # This Alpine-based Dockerfile is INCOMPATIBLE with the chorus-agent binary # built by 'make build-agent'. The binary is compiled with glibc dependencies # and will NOT run on Alpine's musl libc. # # ERROR when used: "exec /app/chorus-agent: no such file or directory" # # ✅ USE Dockerfile.ubuntu INSTEAD # # This file is kept for reference only and should not be used for builds. # Last failed: 2025-10-01 # Reason: Alpine musl libc incompatibility with glibc-linked binary # # ------------------------------------------------------------------- # CHORUS - Simple Docker image using pre-built binary FROM alpine:3.18 # Install runtime dependencies RUN apk --no-cache add \ ca-certificates \ tzdata \ curl # Create non-root user for security RUN addgroup -g 1000 chorus && \ adduser -u 1000 -G chorus -s /bin/sh -D chorus # Create application directories RUN mkdir -p /app/data && \ chown -R chorus:chorus /app # Copy pre-built binary from build directory (ensure it exists and is the correct one) COPY build/chorus-agent /app/chorus-agent RUN chmod +x /app/chorus-agent && chown chorus:chorus /app/chorus-agent # Switch to non-root user USER chorus WORKDIR /app # Note: Using correct chorus-agent binary built with 'make build-agent' # Expose ports EXPOSE 8080 8081 9000 # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD curl -f http://localhost:8081/health || exit 1 # Set default environment variables ENV LOG_LEVEL=info \ LOG_FORMAT=structured \ CHORUS_BIND_ADDRESS=0.0.0.0 \ CHORUS_API_PORT=8080 \ CHORUS_HEALTH_PORT=8081 \ CHORUS_P2P_PORT=9000 # Start CHORUS ENTRYPOINT ["/app/chorus-agent"]