Novu
Open-source notification infrastructure
NovuAPI
novuhq/novu/api:2.0.0
Just deployed
MongoDB
mongo:7
Just deployed
/data/db
NovuWS
novuhq/novu/ws:2.0.0
Just deployed
NovuWeb
novuhq/novu/web:2.0.0
Just deployed
Redis
bitnami/redis:7.2.5
Just deployed
/bitnami
NovuWorker
novuhq/novu/worker:2.0.0
Just deployed
Novu Self-Hosted Template for Railway
Overview
Novu is an open-source notification infrastructure designed for developers who need powerful, flexible notification capabilities in their applications. This template deploys a self-hosted version of Novu, providing complete control over your notification infrastructure while maintaining the ease of use that Novu is known for. Perfect for teams that need to manage complex notification workflows across multiple channels while keeping their data within their own infrastructure.
Features
- Powerful Workflow Engine: Build code-first notification workflows that run within your infrastructure
- Multi-Channel Support: Send notifications across email, SMS, push, and in-app channels through a single API
- Built-in Component Library: Ready-to-use notification components including a customizable inbox
- No-Code Editor: Enable product teams to manage notification content without developer intervention
- Type-Safe Operations: End-to-end validation with custom JSON schemas
- User Preference Management: Built-in support for user notification preferences including language and timezone
- Developer-First Architecture: API-first design with complete workflow control
- Open Source: Full access to the source code with community backing
Deployment Instructions
- Click the "Deploy on Railway" button
- Configure the required environment variables (see below)
- Deploy the service
- Access your Novu dashboard
Important Post-Deployment Steps
- Navigate to the Project Settings in Railway
- Go to the "Networking" tab
- Find the "NovuWeb" service
- Look for the automatically generated public URL
- If the URL doesn't work:
- Delete the current public URL
- Click "Generate Domain" to create a fresh public URL
- Alternatively, attach your custom domain if you prefer
- Use this URL to access your Novu dashboard
- Set up your notification channels and providers
- Integrate Novu into your application using the provided SDKs
Getting Started
After successful deployment and URL configuration:
- Access your Novu dashboard through the working public URL
- Create your first notification template
- Set up your preferred notification providers
- Integrate the Novu SDK into your application
- Send your first notification using the provided code:
await novu.trigger('workflow-name', {
to: {
subscriberId: 'user-id',
email: '[email protected]'
},
payload: {
name: 'John Doe',
message: 'Hello world!'
}
});
Security Considerations
- Secure your MongoDB and Redis instances
- Set a strong JWT_SECRET
- Configure appropriate access controls
- Enable authentication for the dashboard
- Regularly update to the latest version
- Monitor your notification workflows
Customization
- Add custom notification providers
- Implement custom notification templates
- Configure workflow rules and conditions
- Set up digest and delay steps
- Customize the in-app notification center
- Implement custom authentication logic
Support
For issues with the template itself, please each out to me at [email protected]. For Novu-specific questions, refer to the official documentation or join the Novu community.
Troubleshooting
- If you can't access the dashboard after deployment, verify that the public URL is properly generated
- Ensure all environment variables are correctly set
- Check Railway logs for any deployment errors
- Verify that both the API and Web services are running
- If using a custom domain, ensure DNS settings are properly configured
Build powerful notification experiences with Novu!
Template Content