services: redis: image: redis:7-alpine container_name: divar_redis ports: - "6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 backend: build: context: . dockerfile: Dockerfile.backend container_name: divar_backend command: sh -c "python backend/manage.py migrate && python backend/manage.py runserver 0.0.0.0:8000" ports: - "8000:8000" environment: - REDIS_URL=redis://redis:6379/0 env_file: - .env volumes: - ./backend:/app/backend depends_on: redis: condition: service_healthy celery: build: context: . dockerfile: Dockerfile.backend container_name: divar_celery command: sh -c "celery -A config worker --loglevel=info -P gevent -c 20" environment: - REDIS_URL=redis://redis:6379/0 env_file: - .env volumes: - ./backend:/app/backend depends_on: redis: condition: service_healthy backend: condition: service_started frontend: build: context: . dockerfile: frontend/Dockerfile container_name: divar_frontend ports: - "5173:5173" environment: - VITE_BACKEND_URL=http://backend:8000 volumes: - ./frontend:/app/frontend - /app/frontend/node_modules depends_on: - backend