Files
ARC/backend/docker-compose.yml
2026-06-16 11:27:41 +02:00

102 lines
2.8 KiB
YAML

services:
qdrant:
image: qdrant/qdrant:latest
container_name: qdrant-arc
ports:
- "6333:6333"
- "6334:6334"
environment:
- QDRANT__TELEMETRY_DISABLED=true
volumes:
- qdrant_storage:/qdrant/storage
networks:
- arc-network
download-model:
image: alpine:latest
container_name: download-embedding-model
volumes:
- model_storage:/models
command: >
sh -c "
if [ ! -f /models/snowflake-arctic-embed-m-v1.5-f16.gguf ]; then
echo 'Téléchargement du modèle (Contournement SSL Proxy activé)...';
wget --no-check-certificate 'https://huggingface.co/Snowflake/snowflake-arctic-embed-m-v1.5/resolve/main/gguf/snowflake-arctic-embed-m-v1.5-f16.gguf' -O /models/snowflake-arctic-embed-m-v1.5-f16.gguf;
echo 'Téléchargement terminé avec succès !';
else
echo 'Le modèle est déjà présent.';
fi
"
embedding-server:
image: ghcr.io/ggml-org/llama.cpp:server
container_name: embedding-arc
volumes:
- model_storage:/models
ports:
- "8002:8080"
command: "-m /models/snowflake-arctic-embed-m-v1.5-f16.gguf --embedding --host 0.0.0.0 --port 8080"
restart: unless-stopped
networks:
- arc-network
depends_on:
download-model:
condition: service_completed_successfully
download-gemma:
image: alpine:latest
container_name: download-gemma-model
volumes:
- model_storage:/models
command: >
sh -c "
if [ ! -f /models/gemma-4-E4B-it-UD-Q4_K_XL.gguf ]; then
echo 'Téléchargement de Gemma 4 (Contournement SSL Proxy)...';
wget --no-check-certificate 'https://huggingface.co/unsloth/gemma-4-E4B-it-GGUF/resolve/main/gemma-4-E4B-it-UD-Q4_K_XL.gguf' -O /models/gemma-4-E4B-it-UD-Q4_K_XL.gguf;
echo 'Téléchargement de Gemma 4 terminé !';
else
echo 'Le modèle Gemma 4 est déjà présent.';
fi
"
gemma-server:
image: ghcr.io/ggml-org/llama.cpp:server
container_name: gemma-arc
volumes:
- model_storage:/models
ports:
- "8003:8080"
command: "-m /models/gemma-4-E4B-it-UD-Q4_K_XL.gguf --host 0.0.0.0 --port 8080 -c 8192"
restart: unless-stopped
networks:
- arc-network
depends_on:
download-gemma:
condition: service_completed_successfully
app:
build: .
container_name: arc-app
ports:
- "8000:8000"
- "8001:8001"
volumes:
- .:/workspace
environment:
- PYTHONPATH=/workspace
- QDRANT_URL=http://qdrant:6333
- QDRANT_COLLECTION=arc_projects
- EMBEDDING_SERVER_URL=http://embedding-server:8080
depends_on:
- qdrant
- embedding-server
networks:
- arc-network
volumes:
qdrant_storage:
model_storage:
networks:
arc-network:
driver: bridge