Files
tech/docker-compose.yml
2026-02-02 00:05:24 +03:00

123 lines
2.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

services:
redis:
image: redis:7-alpine
container_name: redis
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redis_data:/data
command: redis-server --appendonly yes
networks:
- app-network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
qdrant:
image: qdrant/qdrant:latest
container_name: qdrant
restart: unless-stopped
ports:
- "6333:6333"
- "6334:6334"
volumes:
- qdrant_data:/qdrant/storage
networks:
- app-network
qdrant-init:
image: python:3.11-alpine
container_name: qdrant-init
restart: "no"
working_dir: /app
volumes:
- ./qdrant_init/entrypoint.py:/app/entrypoint.py
command: ["python", "-u", "/app/entrypoint.py"]
depends_on:
- qdrant
environment:
- QDRANT_URL=http://qdrant:6333
- QDRANT_COLLECTION_CHAPTER_ANALYSES=chapter_analyses
- QDRANT_VECTOR_SIZE=1024
- QDRANT_INIT_DELAY=15
networks:
- app-network
ollama:
image: ollama/ollama:latest
container_name: ollama
restart: unless-stopped
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
networks:
- app-network
environment:
- OLLAMA_HOST=0.0.0.0:11434
# Контекст для qwen3:14b-q8_0 (анализ глав).
- OLLAMA_NUM_CTX=9000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:11434/api/tags"]
interval: 30s
timeout: 10s
retries: 3
epub-parser:
build:
context: ./epub-parser
dockerfile: Dockerfile
container_name: epub-parser
restart: unless-stopped
ports:
- "5001:5000"
environment:
- POSTGRES_HOST=postgres
- POSTGRES_PORT=5432
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=n8n_password
- POSTGRES_DB=n8n
depends_on:
- postgres
networks:
- app-network
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:5000/health')"]
interval: 10s
timeout: 5s
retries: 5
postgres:
image: postgres:15-alpine
container_name: postgres
restart: unless-stopped
ports:
- "5432:5432"
environment:
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=n8n_password
- POSTGRES_DB=n8n
volumes:
- postgres_data:/var/lib/postgresql/data
- ./8_сохранение_postgres/schema.sql:/docker-entrypoint-initdb.d/01-schema.sql:ro
networks:
- app-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U n8n"]
interval: 10s
timeout: 5s
retries: 5
volumes:
redis_data:
qdrant_data:
ollama_data:
n8n_data:
postgres_data:
networks:
app-network:
driver: bridge