version: '3.8' services: web: build: context: . dockerfile: Dockerfile.local command: > sh -c "python manage.py migrate && python manage.py runserver 0.0.0.0:8000" volumes: - .:/app - ./data/media:/app/data/media - ./data/celery:/app/data/celery ports: - "8000:8000" environment: - DJANGO_SETTINGS_MODULE=core.settings - CELERY_BROKER_URL=redis://redis:6379/0 - CELERY_RESULT_BACKEND=redis://redis:6379/0 depends_on: - redis networks: - app-network celery_worker: build: context: . dockerfile: Dockerfile.local command: celery -A core worker --loglevel=info volumes: - .:/app - ./data/media:/app/data/media - ./data/celery:/app/data/celery environment: - DJANGO_SETTINGS_MODULE=core.settings - CELERY_BROKER_URL=redis://redis:6379/0 - CELERY_RESULT_BACKEND=redis://redis:6379/0 depends_on: - redis networks: - app-network celery_beat: build: context: . dockerfile: Dockerfile.local command: celery -A core beat -s /app/data/celerybeat-schedule --loglevel=info volumes: - .:/app - ./data/media:/app/data/media - ./data/celery:/app/data/celery environment: - DJANGO_SETTINGS_MODULE=core.settings - CELERY_BROKER_URL=redis://redis:6379/0 - CELERY_RESULT_BACKEND=redis://redis:6379/0 depends_on: - redis - web networks: - app-network redis: image: redis:alpine ports: - "6379:6379" networks: - app-network volumes: media_volume: static_volume: networks: app-network: driver: bridge