diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index a95f012..064c75f 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -188,6 +188,7 @@ }, "active": "3f38aefa8626b1f8", "lastOpenFiles": [ + "docker-compose.dev.yml", "xflow-project-ru.canvas", "session-2026-04-23.canvas", "app/server/utils/prisma.ts", diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..ff2e8b9 --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,47 @@ +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 diff --git a/nuxt.config.ts b/nuxt.config.ts index ebe4251..8d52876 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -61,6 +61,9 @@ export default defineNuxtConfig({ nitro: { experimental: { wasm: true + }, + externals: { + external: ['@prisma/client', '@prisma/adapter-pg', 'pg'] } },