返回应用列表
Novu

Deploy Novu on Your Own Server

Open Source Notification Infrastructure For Developers

📦 Other

想更快部署 Novu到服务器?试试 Senate,一条命令完成部署,自动配置 HTTPS 和监控。

立即开始

什么是 Novu?

Novu is a fully functional real-time notification center for your web and react apps. The only open-source notifications infrastructure that manages multi-channel content, scheduled notifications, digest engine, user preferences, and delivers Email, SMS, Push and Chat notifications using a single API.

了解更多

自托管 Novu

按照以下步骤在您的服务器上部署。

1

安装 Docker

如果服务器上已安装 Docker,可跳过此步骤。

curl -fsSL https://get.docker.com | sh
2

配置

自定义以下设置。大多数情况下使用默认值即可。

Application
Redis
MongoDB
General
Security
Privacy
API
Networking
S3
3

部署

复制配置并在服务器上运行。

services:
  novu:
    image: ghcr.io/novuhq/novu/web:0.8.0
    environment:
      REACT_APP_API_URL: http://novu-api.your-domain.com
      REACT_APP_DOCKER_HOSTED_ENV: "true"
      REACT_APP_ENVIRONMENT: prod
      REACT_APP_WIDGET_EMBED_PATH: http://novu-embed.your-domain.com/embed.umd.min.js
    depends_on:
      - novu-api
  novu-api:
    image: ghcr.io/novuhq/novu/api:0.8.0
    environment:
      API_ROOT_URL: http://novu-api.your-domain.com
      AWS_ACCESS_KEY_ID: test
      AWS_SECRET_ACCESS_KEY: test
      DISABLE_USER_REGISTRATION: "false"
      FRONT_BASE_URL: http://novu.your-domain.com
      JWT_SECRET: 0817bc2b63705faebb0c20258ec8390b
      MONGO_URL: mongodb://novu-db/novu
      NODE_ENV: prod
      PORT: "3000"
      REDIS_DB_INDEX: "2"
      REDIS_HOST: novu-cache
      REDIS_PORT: "6379"
      S3_BUCKET_NAME: novu-local
      S3_LOCAL_STACK: http://localhost:4566
      S3_REGION: us-east-1
      SENTRY_DSN: ""
      STORE_ENCRYPTION_KEY: 35d12eba0e9b1768518bedfd9cae67be
    depends_on:
      - novu-db
      - novu-cache
  novu-cache:
    image: redis:7.0.5
  novu-db:
    image: mongo:6.0.2
    environment:
      PGID: "1000"
      PUID: "1000"
    volumes:
      - novu-db:/data/db
  novu-embed:
    image: ghcr.io/novuhq/novu/embed:0.8.0
    environment:
      WIDGET_URL: http://novu-widget.your-domain.com
    depends_on:
      - novu-widget
  novu-widget:
    image: ghcr.io/novuhq/novu/widget:0.8.0
    environment:
      REACT_APP_API_URL: http://novu-api.your-domain.com
      REACT_APP_ENVIRONMENT: prod
      REACT_APP_WS_URL: http://novu-ws.your-domain.com
    depends_on:
      - novu-api
      - novu
  novu-ws:
    image: ghcr.io/novuhq/novu/ws:0.8.0
    environment:
      JWT_SECRET: 0817bc2b63705faebb0c20258ec8390b
      MONGO_URL: mongodb://novu-db/novu
      NODE_ENV: prod
      PORT: "3002"
      REDIS_HOST: novu-cache
      REDIS_PORT: "6379"
    depends_on:
      - novu-db
      - novu-cache
volumes:
  novu-db: {}

然后运行:

docker compose up -d
4

访问

启动后,访问您的应用: http://localhost:80

为什么要自托管 Novu?

完全数据所有权

数据保存在您的服务器上,无第三方访问。

无月费

只需支付服务器费用,无按席位或用量收费。

完全控制

按您的需求自定义、备份和扩展。

隐私与合规

满足 GDPR、HIPAA 或内部安全要求。

技术细节

Docker 镜像

${NOVU_IMAGE_URL}/web:${NOVU_IMAGE_VERSION}

官方文档

docs.novu.co

想更快部署?

尝试 Senate!Senate 帮您处理 Docker、HTTPS、更新和监控。一条命令部署 300+ 应用。

在任意 Linux 服务器上安装:

sh -c "$(curl -sSL https://get.senate.sh)"