AltFreeStack
Herramientas Devdocker-readypermissive-licenseOpen-Core🔴 Completo · ~2GB

Novu: alternativa Open-Core a OneSignal en 2026

Novu es una infraestructura de notificaciones que unifica email, SMS, push y in-app en una sola API con plantillas y flujos visuales, como alternativa auto-hospedable a OneSignal.

El núcleo es open source, pero puede haber funciones avanzadas o soporte empresarial de pago — revisa la licencia.

ℹ️ novuhq/novu-api no existe como imagen publicada. El despliegue real de Novu usa varios servicios independientes (ghcr.io/novuhq/novu/api, /worker, /ws, /dashboard), publicados solo con tags de commit SHA — sin una versión estable a la que fijar. La vía oficial es el script setup.sh del repo de Novu, que genera el docker-compose multi-servicio correcto.

Licencia MIT40.1k estrellasSitio web Repositorio en GitHub

Audit Snapshot

Ver notas →
  • Licencia — No verificable en GitHub

  • GitHub — Activo

  • Último release — @novu/framework@v2.14.0 · hace 15 días

  • Docker Compose — No verificado

  • Producción — No probado por AltFreeStack

Novu vs. OneSignal

Ventajas

  • Unifica todos los canales de notificación en un solo lugar

A tener en cuenta

  • Aún necesitas conectar tus propios proveedores de envío (SMTP, SMS)
  • El docker-compose de este catálogo no es real (ver nota arriba) — usa el script setup.sh oficial de Novu

Guía rápida de instalación con Docker

Copia este docker-compose.yml, ajusta las contraseñas de ejemplo y ejecuta docker compose up -d en tu servidor. Ver la guía completa paso a paso →

💡 ¿SaaS oficial o self-hosted con AltFreeStack?

  • En la nube oficial: una cuota mensual recurrente y límites de uso en OneSignal.
  • En tu propio VPS: el núcleo es gratis y auto-hospedable en tu propio servidor — sin la cuota mensual del SaaS, aunque algunas funciones avanzadas siguen de pago.
docker-compose.yml
version: "3.9"
services:
  novu:
    image: novuhq/novu-api:latest
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - MONGO_URL=mongodb://novu-db:27017/novu
      - REDIS_HOST=novu-redis
    depends_on:
      - novu-db
      - novu-redis
  novu-db:
    image: mongo:7
    restart: unless-stopped
    volumes:
      - novu_mongo_data:/data/db
  novu-redis:
    image: redis:7-alpine
    restart: unless-stopped
volumes:
  novu_mongo_data:

🚀 Despliegue en 1 comando

Recomendado para novatos

Copia este único comando y pégalo en la consola de tu VPS recién creado (Vultr, DigitalOcean...). Descarga el script, lo muestra en pantalla para que veas exactamente qué va a hacer (nunca un pipe directo a ciegas) y, solo entonces, instala Docker si hace falta, crea los archivos con los secretos ya generados y arranca todo — sin nano, sin copiar y pegar bloques de código.

curl -sSL ".../api/deploy?stack=novu" -o deploy.sh && cat deploy.sh && bash deploy.sh

Este docker-compose corresponde a un proyecto con actividad reciente en GitHub — último commit hoy.

¿Este docker-compose no te funciona? Repórtalo en GitHub →

Ficha técnica

Licencia
MIT
Categoría
Herramientas Dev
Sustituye a
OneSignal
Stack técnico
NestJSMongoDBRedis

Bajo el capó

Base de datos

MongoDB

Lenguaje

TypeScript (NestJS)

Plataformas

Web

Funcionalidades principales

  • Email, SMS, push e in-app en una API
  • Editor visual de flujos de notificación
  • Centro de notificaciones embebible

Vista previa

Novu interface preview

Imagen pública proporcionada por Novu en su propio sitio web.

💾 Copias de seguridad en 3 pasos (Día 2)

Mientras la carpeta ./data (el "volumen" mapeado al contenedor) exista en tu servidor, tus datos sobreviven a cualquier reinicio o actualización — es lo único que necesitas respaldar.

1. Crea una copia comprimida en el servidor

tar -czvf backup-$(date +%F).tar.gz ./data

2. Descárgala a tu ordenador

Desde la terminal de tu ordenador (no la de tu servidor):

scp root@TU_IP:~/app/backup-*.tar.gz ./

3. Restaura en caso de emergencia

tar -xzvf backup-archivo.tar.gz
🌐 Conectar tu dominio con SSL gratis

Paso 1 — Configura el DNS

En el panel de tu registrador de dominio (Cloudflare, Namecheap, GoDaddy...), crea un registro:

Tipo
A
Nombre/Host
@ (dominio raíz) o un subdominio, ej. app
Contenido/Valor
La IP pública de tu servidor

Espera entre 5 y 15 minutos a que el registro se propague por internet.

Paso 2 — Proxy inverso automático con Caddy

Un solo archivo, sin configurar Nginx ni certificados manuales — Caddy emite y renueva el HTTPS de Let's Encrypt solo.

Crea un archivo llamado Caddyfile:

tudominio.com {
    reverse_proxy localhost:3000
}

Levanta Caddy con este comando (descarga la imagen y arranca en segundo plano):

docker run -d -p 80:80 -p 443:443 --name caddy --restart always -v $PWD/Caddyfile:/etc/caddy/Caddyfile -v caddy_data:/data caddy