2.8 KiB
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:
DATABASE_URL="postgresql://USUARIO:CONTRASEÑA@HOST:5432/NOMBRE_BD?schema=moraworld"
En PostgreSQL 15+ el schema
publica menudo no permiteCREATEal usuario de la app. Usamos el schemamoraworld(se crea automáticamente en el primer deploy si el usuario tiene permisoCREATE 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:
REDIS_URL="redis://HOST:6379"
Con contraseña:
REDIS_URL="redis://:CONTRASEÑA@HOST:6379"
Con TLS (rediss):
REDIS_URL="rediss://:CONTRASEÑA@HOST:6380"
Dónde configurarlas
Desarrollo en tu Mac (.env en la raíz)
cp .env.example .env
# Editar DATABASE_URL y REDIS_URL con los valores de Coolify
Luego:
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:
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
.enva Git. - En Coolify usar "Secrets" del panel.
- Rotar contraseñas si se compartieron en chat; luego actualizar
.envy Coolify.