version: "3.9" services: # ------------------------- # WEB UI # ------------------------- web: build: context: . dockerfile: Dockerfile container_name: bookscraper ports: - "5050:5000" volumes: - .:/app - /Users/peter/Desktop/books:/app/output env_file: - .env environment: FLASK_ENV: "production" restart: unless-stopped depends_on: - redis # ------------------------- # SCRAPING WORKER # (1 concurrency, 1 job tegelijk) # ------------------------- scraper_worker: build: context: . dockerfile: Dockerfile container_name: scraper_worker command: python worker/scrape_worker.py volumes: - .:/app - /Users/peter/Desktop/books:/app/output env_file: - .env restart: unless-stopped depends_on: - redis # ------------------------- # AUDIO WORKER # ------------------------- audio_worker: build: context: . dockerfile: Dockerfile container_name: audio_worker command: python worker/audio_worker.py volumes: - .:/app - /Users/peter/Desktop/books:/app/output env_file: - .env restart: unless-stopped depends_on: - redis # ------------------------- # REDIS (LOGS & QUEUE) # ------------------------- redis: image: redis:alpine container_name: redis ports: - "6379:6379" restart: unless-stopped