Spaces:
Sleeping
Sleeping
| version: '3' | |
| services: | |
| mongodb: | |
| image: mongo:6.0 | |
| container_name: crawler-mongodb | |
| ports: | |
| - "27017:27017" | |
| volumes: | |
| - mongodb_data:/data/db | |
| restart: unless-stopped | |
| environment: | |
| - MONGO_INITDB_DATABASE=webcrawler | |
| networks: | |
| - crawler-network | |
| redis: | |
| image: redis:latest | |
| container_name: crawler-redis | |
| ports: | |
| - "6379:6379" | |
| volumes: | |
| - redis_data:/data | |
| restart: unless-stopped | |
| networks: | |
| - crawler-network | |
| web-crawler: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| container_name: web-crawler | |
| volumes: | |
| - ./:/app | |
| - crawler_data:/data/storage | |
| ports: | |
| - "9100:9100" | |
| depends_on: | |
| - mongodb | |
| - redis | |
| environment: | |
| - MONGODB_URI=mongodb://mongodb:27017/ | |
| - REDIS_URI=redis://redis:6379/0 | |
| - LOG_LEVEL=INFO | |
| - MAX_WORKERS=4 | |
| networks: | |
| - crawler-network | |
| command: python crawl.py start --workers=4 | |
| crawler-api: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| container_name: crawler-api | |
| volumes: | |
| - ./:/app | |
| - crawler_data:/data/storage | |
| ports: | |
| - "8000:8000" | |
| depends_on: | |
| - mongodb | |
| - redis | |
| - web-crawler | |
| environment: | |
| - MONGODB_URI=mongodb://mongodb:27017/ | |
| - REDIS_URI=redis://redis:6379/0 | |
| - LOG_LEVEL=INFO | |
| networks: | |
| - crawler-network | |
| command: python api.py | |
| networks: | |
| crawler-network: | |
| driver: bridge | |
| volumes: | |
| mongodb_data: | |
| redis_data: | |
| crawler_data: |