# Coolify Deployment ## Environment Variables Set production values in Coolify and Convex secrets, not in source code. - `APP_ENV` - `NEXT_PUBLIC_APP_URL` - `NEXT_PUBLIC_CONVEX_URL` - `NEXT_PUBLIC_CONVEX_SITE_URL` - `CONVEX_DEPLOYMENT` - `BETTER_AUTH_SECRET` - `GOOGLE_GEOCODING_API_KEY` - `GOOGLE_PLACES_API_KEY` - `PAGESPEED_API_KEY` - `PAGESPEED_TIMEOUT_MS` - `OPENROUTER_API_KEY` - `OPENROUTER_MODEL_CLASSIFICATION` - `OPENROUTER_MODEL_MULTIMODAL_AUDIT` - `OPENROUTER_MODEL_GERMAN_COPY` - `OPENROUTER_MODEL_QUALITY_REVIEW` - `OPENROUTER_APP_NAME` - `OPENROUTER_APP_URL` - `SMTP_HOST` - `SMTP_PORT` - `SMTP_USER` - `SMTP_PASSWORD` - `SMTP_FROM` - `RYBBIT_API_URL` - `RYBBIT_API_KEY` - `NEXT_PUBLIC_RYBBIT_SITE_ID` - `TASK8_BROWSER_ASSET_URL` ## Build And Runtime Coolify commands: - Install: `pnpm install --frozen-lockfile` - Build: `pnpm build` - Start: `pnpm start` Expose Port 3000 from the Next.js container. ## Playwright Website enrichment uses `playwright-core` with a hosted Chromium bundle. Configure `TASK8_BROWSER_ASSET_URL` to a reachable browser asset. If the platform image also installs system browser dependencies, keep them aligned with the Chromium bundle used by `@sparticuz/chromium-min`. ## Domains Set `NEXT_PUBLIC_APP_URL` to the public dashboard Domain. Configure Convex deployment URLs in `NEXT_PUBLIC_CONVEX_URL` and `NEXT_PUBLIC_CONVEX_SITE_URL`. Public audit links assume the same app domain unless a reverse proxy maps `/audit/*` separately.