Changes: - Renamed Dockerfile.simple → Dockerfile.simple.DEPRECATED - Added prominent warning about Alpine/musl libc incompatibility - Updated Makefile docker-agent target to use Dockerfile.ubuntu - Added production deployment notes in Makefile - Updated docker-compose.yml with LightRAG environment variables Reason: The chorus-agent binary built with 'make build-agent' is linked against glibc and cannot run on Alpine's musl libc. This causes the runtime error: "exec /app/chorus-agent: no such file or directory" Production deployments MUST use Dockerfile.ubuntu for glibc compatibility. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
60 lines
1.7 KiB
Docker
60 lines
1.7 KiB
Docker
# ⚠️ 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"] |