NuestraVoz consists of two Node.js processes — the Astro SSR frontend and the Express API — backed by a Supabase cloud project. Both processes are built from the monorepo’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Renzo717/Aula-Virtual-Universidad-Radiolocucion/llms.txt
Use this file to discover all available pages before exploring further.
pnpm build command and can be deployed on any server or managed Node.js platform that supports long-running processes. This guide covers the complete production deployment workflow.
Build
Run the root build command from the monorepo root to compile all packages in the correct order:pnpm -r build which builds packages/shared first (required by the API), then apps/api and apps/web in parallel.
Build outputs:
packages/shared/dist/— compiled shared types and schemasapps/api/dist/— compiled Express serverapps/web/dist/— Astro standalone server bundle
Environment setup
Before starting either process in production, ensureapps/api/.env contains production values:
apps/api/.env
Start the processes
Start both processes (API and frontend) with a process manager such as PM2:Reverse proxy (Nginx)
Configure Nginx to route all/api traffic to the Express API and everything else to the Astro frontend. The Astro frontend’s Vite dev proxy is only for local development; in production the reverse proxy handles routing.
/etc/nginx/sites-available/nuestravoz
Health check
The API exposes a health check endpoint you can use with any uptime monitor or load balancer:Session cookie behavior in production
| Property | Development | Production |
|---|---|---|
httpOnly | true | true |
secure | false (HTTP allowed) | true (HTTPS only) |
sameSite | lax | lax |
maxAge (remember=true) | 30 days | 30 days |
maxAge (remember=false) | 1 day | 1 day |
secure flag is controlled by config.isDev which is false when NODE_ENV=production.
Run migrations before deploying
Always run database migrations before starting the updated API process:Environment Variables
Full reference for all API environment variables and their defaults.
Database Setup
Supabase project setup, migrations, RLS, and seed data.