version: '3.8' services: web: build: . command: > sh -c "python manage.py migrate && python manage.py runserver 0.0.0.0:8000" volumes: - .:/app - ./media:/app/media 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 - tailwind networks: - app-network celery_worker: build: context: . dockerfile: Dockerfile.worker command: celery -A core worker --loglevel=info volumes: - .:/app - ./media:/app/media 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: . command: celery -A core beat --loglevel=info volumes: - .:/app environment: - DJANGO_SETTINGS_MODULE=core.settings - CELERY_BROKER_URL=redis://redis:6379/0 - CELERY_RESULT_BACKEND=redis://redis:6379/0 depends_on: - redis - celery_worker networks: - app-network redis: image: redis:alpine ports: - "6379:6379" networks: - app-network tailwind: build: . command: python manage.py tailwind start volumes: - .:/app ports: - "3000:3000" networks: - app-network flower: build: . command: celery -A core flower --port=5555 volumes: - .:/app ports: - "5555:5555" environment: - DJANGO_SETTINGS_MODULE=core.settings - CELERY_BROKER_URL=redis://redis:6379/0 - CELERY_RESULT_BACKEND=redis://redis:6379/0 depends_on: - redis - celery_worker networks: - app-network volumes: media_volume: static_volume: networks: app-network: driver: bridge