services: qdrant: image: docker.io/qdrant/qdrant:latest container_name: espiritismo-qdrant ports: - "6333:6333" volumes: - qdrant_data:/qdrant/storage restart: unless-stopped redis: image: docker.io/library/redis:7-alpine container_name: espiritismo-redis ports: - "6379:6379" volumes: - redis_data:/data restart: unless-stopped web: build: context: . dockerfile: backend/Dockerfile container_name: espiritismo-web ports: - "8000:8000" volumes: - ./PDF:/app/books:ro - uploads_data:/app/uploads - ./data/schedules.json:/app/schedules.json - ./backend/models:/app/models environment: QDRANT_URL: http://qdrant:6333 CELERY_BROKER_URL: redis://redis:6379/0 CELERY_RESULT_BACKEND: redis://redis:6379/0 TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-} TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID:-} GPT4ALL_MODEL: /app/models/llama-3.2-3b-instruct-q4_0.gguf BOOKS_DIR: /app/books UPLOAD_DIR: /app/uploads SCHEDULES_PATH: /app/schedules.json TZ: America/Sao_Paulo depends_on: - qdrant - redis restart: unless-stopped celery: build: context: . dockerfile: backend/Dockerfile container_name: espiritismo-celery command: celery -A app.tasks.celery_tasks worker --loglevel=info volumes: - ./PDF:/app/books:ro - uploads_data:/app/uploads - ./data/schedules.json:/app/schedules.json - ./backend/models:/app/models environment: QDRANT_URL: http://qdrant:6333 CELERY_BROKER_URL: redis://redis:6379/0 CELERY_RESULT_BACKEND: redis://redis:6379/0 TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-} TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID:-} GPT4ALL_MODEL: /app/models/llama-3.2-3b-instruct-q4_0.gguf BOOKS_DIR: /app/books UPLOAD_DIR: /app/uploads SCHEDULES_PATH: /app/schedules.json TZ: America/Sao_Paulo depends_on: - qdrant - redis restart: unless-stopped celery-beat: build: context: . dockerfile: backend/Dockerfile command: celery -A app.tasks.celery_tasks beat --loglevel=info volumes: - ./data/schedules.json:/app/schedules.json environment: CELERY_BROKER_URL: redis://redis:6379/0 CELERY_RESULT_BACKEND: redis://redis:6379/0 TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-} TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID:-} SCHEDULES_PATH: /app/schedules.json TZ: America/Sao_Paulo depends_on: - redis restart: unless-stopped volumes: qdrant_data: redis_data: uploads_data: