Files
moraworld/docs/VARIABLES-COOLIFY.md

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 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:

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 .env a Git.
  • En Coolify usar "Secrets" del panel.
  • Rotar contraseñas si se compartieron en chat; luego actualizar .env y Coolify.