services: db: image: pgvector/pgvector:pg16 environment: POSTGRES_DB: digital_twin POSTGRES_USER: digital_twin POSTGRES_PASSWORD: digital_twin_password ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U digital_twin -d digital_twin"] interval: 10s timeout: 5s retries: 5 redis: image: redis:7-alpine ports: - "6379:6379" volumes: - redis_data:/data app: build: . ports: - "8000:8000" env_file: - .env environment: DATABASE_URL: postgresql+psycopg2://digital_twin:digital_twin_password@db:5432/digital_twin depends_on: db: condition: service_healthy redis: condition: service_started volumes: - app_storage:/app/backend/storage volumes: postgres_data: redis_data: app_storage: