Este proyecto está deployado en VPS 178.156.176.15 (NO en Vercel).
Acceso SSH: paramiko, host=178.156.176.15, port=443, user=root, password=Zc8!xK2mP9nQ
(Puerto 22 bloqueado. HAProxy en 443 multiplexa SSH + HTTPS.)
Internet :443 → HAProxy → nginx :4443 (SNI routing) → Docker containers
prolevelcode.com → 127.0.0.1:4001
velocitysetups.com → 127.0.0.1:4002
truemark-ai → 127.0.0.1:4003
camisaspiratas.com → 127.0.0.1:4004
NUNCA listen 127.0.0.1:4443 ssl. Usar la IP explícita rompe el SNI routing para
TODOS los dominios del servidor (incidente 2026-04-29: prolevelcode servía cert de fashionmodelai).
Si certbot genera 127.0.0.1:4443 hay que cambiarlo a 4443 inmediatamente.
nginx -t && systemctl reload nginx # siempre en este ordendocker compose build prolevelcode # NO sin especificar servicio
docker compose up -d prolevelcodeArchivos .bak en /etc/nginx/sites-enabled/ son cargados por nginx y causan conflictos.
NO usar prisma migrate dev (reinicia la DB). Aplicar SQL directo via psql con DIRECT_URL.
El Dockerfile necesita standalone output. Esta línea debe estar siempre en next.config.ts.
Git no la trackea si fue añadida manualmente en el VPS — verificar después de cada git pull.
Antes de hacer build en VPS: regenerar lock localmente (pnpm install), commit y push.
Si no → ERR_PNPM_OUTDATED_LOCKFILE en Docker.
Ver: C:\Users\PC\.claude\projects\C--prolevelcode\memory\vps_infrastructure.md
- Next.js 16 App Router, TypeScript, Tailwind CSS v4, Framer Motion
- pnpm, Prisma + Supabase, Stripe, Bunny.net (videos)
- Docker (standalone build), nginx, HAProxy, Certbot
1. pnpm install (local) → regenera lock si hay cambios de deps
2. git add . && git commit && git push
3. VPS: cd /apps/prolevelcode && git pull
4. VPS: cd /apps && docker compose build prolevelcode > /tmp/build.log 2>&1 &
5. Esperar ~7-10 min → docker compose up -d prolevelcode
6. Verificar: curl -sk https://prolevelcode.com/ → HTTP 200