How to Install Novu on Ubuntu 24.04

Novu is the open-source notification infrastructure. It allows you to manage all communication channels (In-App, Email, SMS, Push, etc.) in one place. This guide uses Docker Compose for installation.

Prerequisites Checklist πŸ“

  • Server: A clean installation of Ubuntu 24.04 (Server or Desktop).
  • Resources: Minimum 2GB RAM and 2 CPU Cores (4GB RAM recommended for production).
  • Tools: Git and Docker Engine with the Docker Compose Plugin.
  • User: A user with sudo privileges, or the root user.
  • Ports: Ensure 3000, 3002, and 4000 are open in your server's firewall (UFW or Cloud Security Group).

Install Docker and Git

Update packages and install dependencies:

sudo apt update
sudo apt install ca-certificates curl gnupg git -y

Install Docker Engine and Docker Compose Plugin:

# Add Docker's official GPG key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the Docker repository to Apt sources
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Install Docker and Compose
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

(Optional) Add user to the docker group:

sudo usermod -aG docker $USER
# Log out and log back in, or run 'newgrp docker' to apply the change

Clone Repository and Configure

Download the Novu Docker files:

git clone --depth 1 https://github.com/novuhq/novu.git
cd novu/docker/community

Copy and edit the environment file:

cp .env.example .env
nano .env

Update the variables in the .env file (replace <YOUR_SECRET> with random strings):

  • HOST_NAME:

    HOST_NAME=http://Your_IP_Address
  • JWT_SECRET: Required for API authentication.
  • STORE_ENCRYPTION_KEY: Must be exactly 32 characters long.

Save and exit (Ctrl+O, Enter, Ctrl+X).

Configure Firewall πŸ›‘οΈ

sudo ufw allow 4000/tcp    # Dashboard (Frontend)
sudo ufw allow 3000/tcp    # API (Backend)
sudo ufw allow 3002/tcp    # WebSocket
sudo ufw reload

Deploy Novu

docker compose up -d

Wait 2–5 minutes for containers to start. Check status:

docker ps

All Novu containers should show a status of Up.

Access the Novu Dashboard 🌐

Open your browser and go to:

http://Your_IP_Address:4000

Replace Your_IP_Address with your server’s public IP.

Initial Configuration (Admin Account Setup) πŸ‘€

On first visit, create your admin account:

  • Full Name: Your name
  • Email: Your admin email
  • Password: A strong password

Click Sign Up to complete setup and access the Novu Dashboard.

images


CrownCloud - Get a SSD powered KVM VPS at $4.5/month!
Use the code WELCOME for 10% off!

1 GB RAM / 25 GB SSD / 1 CPU Core / 1 TB Bandwidth per month

Available Locations: LAX | MIA | ATL | FRA | AMS