services: postgres: image: postgres:18 container_name: shoppingcart-db environment: POSTGRES_DB: shoppingcart POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: - "5432:5432" volumes: - shoppingcart_pgdata:/var/lib/postgresql restart: unless-stopped backend: build: ./backend container_name: shoppingcart-backend ports: - "3000:3000" depends_on: - postgres environment: DB_HOST: postgres DB_PORT: 5432 DB_NAME: shoppingcart DB_USER: postgres DB_PASSWORD: postgres volumes: - ./backend:/app - /app/node_modules command: npm run dev frontend: build: ./frontend container_name: shoppingcart-frontend ports: - "5173:5173" depends_on: - backend environment: VITE_API_URL: http://backend:3000 volumes: - ./frontend:/app - /app/node_modules command: npm run dev -- --host 0.0.0.0 volumes: shoppingcart_pgdata: