backend/package.json - Add 'postinstall: prisma generate' — fresh pnpm install now produces a usable @prisma/client without a manual step. - Add engines.node >= 20 and packageManager pnpm@9.12.0. frontend/package.json - Same engines + packageManager pin. frontend/next.config.js - output: 'standalone' enabled for PM2's .next/standalone/server.js pattern (reduces production bundle size, removes runtime node_modules dependency for the web process). frontend/.env.example (new) - Documents NEXT_PUBLIC_API_URL as a BUILD-TIME variable. ecosystem.config.js (new) - PM2 config for reloop-api (cwd=backend, script=dist/main.js, port 3001) and reloop-web (cwd=frontend, script=.next/standalone/server.js, port 3000, HOSTNAME=0.0.0.0). max_memory_restart=512M each with separate error/out log files. README.md (new) - Root deploy guide: stack, env vars table (backend + frontend), local dev quickstart, prod deploy steps (rsync → pnpm install --frozen-lockfile → prisma migrate deploy → build → copy .next/static and public into standalone → pm2 start), reverse proxy mapping, pm2 ops. Also covers Cluster F items: 'Dev VM 에서 prisma migrate dev --name init' for migrations and 'pnpm install' for lockfile generation. .gitignore - Ignore .claude/state/session* + .claude/state/*.lock + .claude/sessions/ (ephemeral harness runtime metadata).
11 lines
191 B
JavaScript
11 lines
191 B
JavaScript
/** @type {import('next').NextConfig} */
|
|
const nextConfig = {
|
|
output: 'standalone',
|
|
reactStrictMode: true,
|
|
compiler: {
|
|
styledComponents: true,
|
|
},
|
|
};
|
|
|
|
module.exports = nextConfig;
|