Deprecate Alpine-based Dockerfile to prevent glibc compatibility issues
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>
This commit is contained in:
@@ -1,3 +1,19 @@
|
|||||||
|
# ⚠️ 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
|
# CHORUS - Simple Docker image using pre-built binary
|
||||||
FROM alpine:3.18
|
FROM alpine:3.18
|
||||||
|
|
||||||
5
Makefile
5
Makefile
@@ -90,10 +90,13 @@ run-hap: build-hap
|
|||||||
./$(BUILD_DIR)/$(BINARY_NAME_HAP)
|
./$(BUILD_DIR)/$(BINARY_NAME_HAP)
|
||||||
|
|
||||||
# Docker builds
|
# Docker builds
|
||||||
|
# NOTE: Always use Dockerfile.ubuntu for production builds!
|
||||||
|
# Dockerfile.simple.DEPRECATED uses Alpine which is incompatible with glibc-linked binaries
|
||||||
.PHONY: docker-agent
|
.PHONY: docker-agent
|
||||||
docker-agent:
|
docker-agent:
|
||||||
@echo "🐳 Building Docker image for CHORUS agent..."
|
@echo "🐳 Building Docker image for CHORUS agent..."
|
||||||
docker build -f docker/Dockerfile.agent -t chorus-agent:$(VERSION) .
|
docker build -f Dockerfile.ubuntu -t chorus-agent:$(VERSION) .
|
||||||
|
@echo "⚠️ IMPORTANT: Production images MUST use Dockerfile.ubuntu (glibc compatibility)"
|
||||||
|
|
||||||
.PHONY: docker-hap
|
.PHONY: docker-hap
|
||||||
docker-hap:
|
docker-hap:
|
||||||
|
|||||||
@@ -56,7 +56,14 @@ services:
|
|||||||
# Model configuration
|
# Model configuration
|
||||||
- CHORUS_MODELS=${CHORUS_MODELS:-meta/llama-3.1-8b-instruct}
|
- CHORUS_MODELS=${CHORUS_MODELS:-meta/llama-3.1-8b-instruct}
|
||||||
- CHORUS_DEFAULT_REASONING_MODEL=${CHORUS_DEFAULT_REASONING_MODEL:-meta/llama-3.1-8b-instruct}
|
- CHORUS_DEFAULT_REASONING_MODEL=${CHORUS_DEFAULT_REASONING_MODEL:-meta/llama-3.1-8b-instruct}
|
||||||
|
|
||||||
|
# LightRAG configuration (optional RAG enhancement)
|
||||||
|
- CHORUS_LIGHTRAG_ENABLED=${CHORUS_LIGHTRAG_ENABLED:-false}
|
||||||
|
- CHORUS_LIGHTRAG_BASE_URL=${CHORUS_LIGHTRAG_BASE_URL:-http://lightrag:9621}
|
||||||
|
- CHORUS_LIGHTRAG_TIMEOUT=${CHORUS_LIGHTRAG_TIMEOUT:-30s}
|
||||||
|
- CHORUS_LIGHTRAG_API_KEY=${CHORUS_LIGHTRAG_API_KEY:-}
|
||||||
|
- CHORUS_LIGHTRAG_DEFAULT_MODE=${CHORUS_LIGHTRAG_DEFAULT_MODE:-hybrid}
|
||||||
|
|
||||||
# Logging configuration
|
# Logging configuration
|
||||||
- LOG_LEVEL=${LOG_LEVEL:-info}
|
- LOG_LEVEL=${LOG_LEVEL:-info}
|
||||||
- LOG_FORMAT=${LOG_FORMAT:-structured}
|
- LOG_FORMAT=${LOG_FORMAT:-structured}
|
||||||
|
|||||||
Reference in New Issue
Block a user