version: '3.8' services: postgres: image: postgres:16-alpine environment: POSTGRES_USER: xflow POSTGRES_PASSWORD: xflow_pass POSTGRES_DB: xflow ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: [ "CMD-SHELL", "pg_isready -U xflow -d xflow" ] interval: 5s timeout: 5s retries: 5 xflow-dev: image: node:20-alpine working_dir: /app environment: DATABASE_URL: postgresql://xflow:xflow_pass@postgres:5432/xflow NODE_ENV: development NUXT_PUBLIC_FIREBASE_API_KEY: "" NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN: "" NUXT_PUBLIC_FIREBASE_PROJECT_ID: "" ports: - "3000:3000" volumes: - .:/app - node_modules:/app/node_modules command: sh -c "npm install && npx prisma generate && npx prisma migrate deploy --config prisma.config.ts && npm run dev" depends_on: postgres: condition: service_healthy networks: - xflow-dev volumes: postgres_data: node_modules: networks: xflow-dev: driver: bridge