3.4 KiB
3.4 KiB
| name | description | metadata | ||
|---|---|---|---|---|
| project-services | All managed services, ports, startup commands, health checks, and env var notes for the Pelagia Portal dev environment |
|
Services
| Service | Port | Startup Command | Directory |
|---|---|---|---|
| pelagia-portal (Next.js) | 3000 | node node_modules/next/dist/bin/next dev --turbopack |
App/ |
| GstService (Express + Playwright) | 3003 | npm run dev (runs tsx watch src/index.ts) |
GstService/ |
| PostgreSQL 18 | 5432 | Windows service / already running | — |
Startup Order
- Verify PostgreSQL is up on port 5432 (
pg_isready -U postgres) - Create DB if missing:
createdb -U postgres pelagia_portal(PGPASSWORD=postgres) - Run
prisma migrate deployfromApp/(non-interactive, applies all pending migrations) - Run
prisma generatefromApp/(generates Prisma client into node_modules) - Start GstService:
cd GstService && npm run dev - Start pelagia-portal:
node node_modules/next/dist/bin/next dev --turbopackfromApp/- DO NOT use
pnpm dev— pnpm pre-flight runspnpm installwhich hits ERR_PNPM_IGNORED_BUILDS and aborts - Call next directly via node to bypass pnpm dependency check
- DO NOT use
Health Checks
- pelagia-portal:
http://localhost:3000— expect 200 or 307 (auth redirect to /login) - GstService:
http://localhost:3003/health— expect{"ok":true,...} - PostgreSQL:
pg_isready -U postgres—:5432 - accepting connections
Environment
- App is in
K:\src\pelagia-portal\App\(NOTApp/pelagia-portal/— that path is stale git history) .env.localinApp/holds actual dev secrets (NEXTAUTH_SECRET, DATABASE_URL)- Required dev vars:
NEXTAUTH_SECRET,NEXTAUTH_URL,DATABASE_URL - R2 and Resend vars not needed in dev (files go to
.dev-uploads/, emails log to console) - DATABASE_URL:
postgresql://postgres:postgres@localhost:5432/pelagia_portal - NEXTAUTH_SECRET: in .env.local
- NEXTAUTH_URL:
http://localhost:3000
Node / Package Manager Setup
- Node.js:
C:\Program Files\nodejs(NOT on system PATH by default — must prepend) - pnpm: installed globally at
C:\Users\shad0w\AppData\Roaming\npm\node_modules\pnpm- $env:PATH must include
$env:APPDATA\npmto find pnpm
- $env:PATH must include
- PostgreSQL 18 bin:
C:\Program Files\PostgreSQL\18\bin - Set PATH at start of each session:
$env:PATH = "C:\Program Files\nodejs;C:\Program Files\PostgreSQL\18\bin;$env:APPDATA\npm;$env:PATH" - PGPASSWORD=postgres for psql/createdb commands
pnpm ERR_PNPM_IGNORED_BUILDS Issue
- pnpm 11.1.2 blocks build scripts for: @prisma/client, @prisma/engines, esbuild, prisma, sharp, unrs-resolver
- The
pnpm.onlyBuiltDependenciesfield in package.json does NOT fix this (field not recognized by pnpm 11) - Workaround: use
node node_modules/next/dist/bin/next dev --turbopackinstead ofpnpm dev - Run
prisma generatemanually after install:.\node_modules\.bin\prisma generate - The pnpm install itself completes (all 885 packages are installed) — only postinstall scripts are blocked
Notes
prisma generateEPERM on Windows = the DLL is locked by a running Node process (Next.js) — this is normal- pelagia-portal 307 response = auth redirect to /login — this is healthy, not an error
- Prisma migration scripts:
pnpm db:migrate(dev),pnpm db:migrate:deploy(CI/prod) node_moduleswas missing on first setup (fresh checkout) — both App and GstService need install- 13 Prisma migrations as of 2026-05-18