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
sudoprivileges, 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.

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