services: db: image: postgres:16-alpine environment: POSTGRES_DB: parser_db POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 10 web: build: . command: > sh -c "python manage.py migrate --noinput && python manage.py runserver 0.0.0.0:8000" volumes: - .:/app ports: - "8000:8000" env_file: - .env environment: - DB_HOST=db - DJANGO_VITE__default__dev_server_host=localhost depends_on: db: condition: service_healthy celery: build: . command: celery -A config worker -l info --concurrency=2 volumes: - .:/app env_file: - .env environment: - DB_HOST=db depends_on: db: condition: service_healthy frontend: image: oven/bun:latest working_dir: /app/frontend command: sh -c "bun install && bun run dev" volumes: - ./frontend:/app/frontend - frontend_node_modules:/app/frontend/node_modules ports: - "5173:5173" volumes: pgdata: frontend_node_modules: