# Variables desde Coolify (Postgres + Redis externos) Si Postgres y Redis ya están en Coolify, **no necesitas** `docker compose` para la BD. Solo pega las URLs en `.env` (local) y en cada app de Coolify (producción). ## Qué necesitamos que nos pases Copia desde el panel de Coolify (o pega aquí en el chat) estos valores: ### PostgreSQL | Variable | Ejemplo | Dónde está en Coolify | |----------|---------|------------------------| | Host | `postgres.tudominio.com` o IP interna | Servicio Postgres → Connection | | Puerto | `5432` | | | Usuario | `moraworld` | | | Contraseña | `***` | | | Base de datos | `moraworld` | Crear DB si no existe | **Formato final en `.env`:** ```env DATABASE_URL="postgresql://USUARIO:CONTRASEÑA@HOST:5432/NOMBRE_BD?schema=moraworld" ``` > En PostgreSQL 15+ el schema `public` a menudo no permite `CREATE` al usuario de la app. Usamos el schema **`moraworld`** (se crea automáticamente en el primer deploy si el usuario tiene permiso `CREATE SCHEMA`). > Si la contraseña tiene caracteres especiales (`@`, `#`, `%`), hay que codificarlos en URL (encodeURIComponent). ### Redis | Variable | Ejemplo | |----------|---------| | Host | `redis.tudominio.com` | | Puerto | `6379` (o `6380` con TLS) | | Contraseña | si aplica | **Sin contraseña:** ```env REDIS_URL="redis://HOST:6379" ``` **Con contraseña:** ```env REDIS_URL="redis://:CONTRASEÑA@HOST:6379" ``` **Con TLS (rediss):** ```env REDIS_URL="rediss://:CONTRASEÑA@HOST:6380" ``` --- ## Dónde configurarlas ### Desarrollo en tu Mac (`.env` en la raíz) ```bash cp .env.example .env # Editar DATABASE_URL y REDIS_URL con los valores de Coolify ``` Luego: ```bash pnpm db:generate npx pnpm exec prisma migrate deploy --schema=packages/database/prisma/schema.prisma pnpm dev ``` > Tu Mac debe poder **alcanzar** el host de Postgres/Redis (IP pública, túnel, o VPN). Si Coolify solo expone red interna, usa túnel SSH o el dominio público que Coolify asigne. ### Coolify — app API ``` DATABASE_URL=postgresql://... REDIS_URL=redis://... API_PORT=3001 JWT_SECRET=... CORS_ORIGINS=https://tu-web.com NODE_ENV=production ``` ### Coolify — app Web ``` NEXT_PUBLIC_API_URL=https://api.tu-dominio.com PORT=3000 NODE_ENV=production ``` --- ## Migraciones contra Postgres en Coolify Una vez tengas `DATABASE_URL` en `.env`: ```bash pnpm db:generate npx pnpm exec prisma migrate deploy --schema=packages/database/prisma/schema.prisma ``` Esto crea las tablas en tu Postgres remoto (migración `20260520120000_init`). --- ## Redis en Fase 0 La API aún **no usa** Redis (colas BullMQ en Fase 6). Puedes dejar `REDIS_URL` configurado desde ya para no cambiar env después. --- ## Seguridad - No subir `.env` a Git. - En Coolify usar "Secrets" del panel. - Rotar contraseñas si se compartieron en chat; luego actualizar `.env` y Coolify.