name: fixture_invoicing services: db: image: postgres:16-alpine container_name: fixture_db environment: POSTGRES_DB: fixture POSTGRES_USER: postgres POSTGRES_PASSWORD: fixture volumes: - pgdata:/var/lib/postgresql/data ports: - "5532:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d fixture"] interval: 5s timeout: 3s retries: 10 backend: build: context: ./backend container_name: fixture_backend environment: DB_HOST: db DB_PORT: 5432 DB_NAME: fixture DB_USER: postgres DB_PASSWORD: fixture SEED_ON_START: "true" ports: - "8100:8000" depends_on: db: condition: service_healthy frontend: build: context: ./frontend container_name: fixture_frontend environment: VITE_API_URL: http://localhost:8100 ports: - "3100:5173" depends_on: - backend volumes: - ./frontend/src:/app/src - ./frontend/index.html:/app/index.html - ./frontend/vite.config.js:/app/vite.config.js volumes: pgdata: