Notifuse
Open-source newsletter and notification platform that empowers teams to create, send, and track communications at scale.
Configuration
services:
db:
image: postgres:17-alpine
restart: unless-stopped
volumes:
- db-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
notifuse:
image: notifuse/notifuse:latest
restart: unless-stopped
depends_on:
- db
environment:
# Root user configuration
- ROOT_EMAIL=${ROOT_EMAIL}
# API configuration
- API_ENDPOINT=${API_ENDPOINT}
# Database configuration
- DB_HOST=db
- DB_PORT=5432
- DB_USER=postgres
- DB_PASSWORD=postgres
- DB_PREFIX=notifuse
- DB_NAME=notifuse_system
- DB_SSLMODE=disable
# PASETO keys for authentication
# Default keys for testing - GENERATE YOUR OWN for production at https://paseto.notifuse.com/
- PASETO_PRIVATE_KEY=${PASETO_PRIVATE_KEY}
- PASETO_PUBLIC_KEY=${PASETO_PUBLIC_KEY}
# SMTP configuration
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_USERNAME=${SMTP_USERNAME}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- SMTP_FROM_EMAIL=${SMTP_FROM_EMAIL}
- SMTP_FROM_NAME=${SMTP_FROM_NAME}
# Server configuration
- SERVER_PORT=8080
- SERVER_HOST=0.0.0.0
- ENVIRONMENT=production
volumes:
db-data:
driver: local[variables]
main_domain = "${domain}"
paseto_private_key = "d04zCk3Fa45oOjDWHpAvc1AZxnLdGffOnNWK+Jt2yXf37+FTfuMMHb8flcfPMqLluRR3rvhbr555r6j1DEigrA=="
paseto_public_key = "9+/hU37jDB2/H5XHzzKi5bkUd674W6+eea+o9QxIoKw="
[config]
[[config.domains]]
serviceName = "notifuse"
port = 8080
host = "${main_domain}"
[config.env]
ROOT_EMAIL = "${email}"
API_ENDPOINT = "https://${main_domain}"
# PASETO keys for authentication
# Default keys for testing - GENERATE YOUR OWN for production at https://paseto.notifuse.com/
PASETO_PRIVATE_KEY = "${paseto_private_key}"
PASETO_PUBLIC_KEY = "${paseto_public_key}"
# SMTP Configuration (users need to configure these)
SMTP_HOST = "smtp.gmail.com"
SMTP_PORT = "587"
SMTP_USERNAME = "[email protected]"
SMTP_PASSWORD = "your-smtp-password"
SMTP_FROM_EMAIL = "[email protected]"
SMTP_FROM_NAME = "Notifuse"
[[config.mounts]]Base64
To import this template in Dokploy: create a Compose service → Advanced → Base64 import and paste the content below:
ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICBkYjpcbiAgICBpbWFnZTogcG9zdGdyZXM6MTctYWxwaW5lXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICB2b2x1bWVzOlxuICAgICAgLSBkYi1kYXRhOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YVxuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBQT1NUR1JFU19EQj1wb3N0Z3Jlc1xuICAgICAgLSBQT1NUR1JFU19VU0VSPXBvc3RncmVzXG4gICAgICAtIFBPU1RHUkVTX1BBU1NXT1JEPXBvc3RncmVzXG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OiBbXCJDTUQtU0hFTExcIiwgXCJwZ19pc3JlYWR5IC1VIHBvc3RncmVzXCJdXG4gICAgICBpbnRlcnZhbDogNXNcbiAgICAgIHRpbWVvdXQ6IDVzXG4gICAgICByZXRyaWVzOiA1XG5cbiAgbm90aWZ1c2U6XG4gICAgaW1hZ2U6IG5vdGlmdXNlL25vdGlmdXNlOmxhdGVzdFxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gZGJcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgICMgUm9vdCB1c2VyIGNvbmZpZ3VyYXRpb25cbiAgICAgIC0gUk9PVF9FTUFJTD0ke1JPT1RfRU1BSUx9XG5cbiAgICAgICMgQVBJIGNvbmZpZ3VyYXRpb25cbiAgICAgIC0gQVBJX0VORFBPSU5UPSR7QVBJX0VORFBPSU5UfVxuXG4gICAgICAjIERhdGFiYXNlIGNvbmZpZ3VyYXRpb25cbiAgICAgIC0gREJfSE9TVD1kYlxuICAgICAgLSBEQl9QT1JUPTU0MzJcbiAgICAgIC0gREJfVVNFUj1wb3N0Z3Jlc1xuICAgICAgLSBEQl9QQVNTV09SRD1wb3N0Z3Jlc1xuICAgICAgLSBEQl9QUkVGSVg9bm90aWZ1c2VcbiAgICAgIC0gREJfTkFNRT1ub3RpZnVzZV9zeXN0ZW1cbiAgICAgIC0gREJfU1NMTU9ERT1kaXNhYmxlXG5cbiAgICAgICMgUEFTRVRPIGtleXMgZm9yIGF1dGhlbnRpY2F0aW9uXG4gICAgICAjIERlZmF1bHQga2V5cyBmb3IgdGVzdGluZyAtIEdFTkVSQVRFIFlPVVIgT1dOIGZvciBwcm9kdWN0aW9uIGF0IGh0dHBzOi8vcGFzZXRvLm5vdGlmdXNlLmNvbS9cbiAgICAgIC0gUEFTRVRPX1BSSVZBVEVfS0VZPSR7UEFTRVRPX1BSSVZBVEVfS0VZfVxuICAgICAgLSBQQVNFVE9fUFVCTElDX0tFWT0ke1BBU0VUT19QVUJMSUNfS0VZfVxuXG4gICAgICAjIFNNVFAgY29uZmlndXJhdGlvblxuICAgICAgLSBTTVRQX0hPU1Q9JHtTTVRQX0hPU1R9XG4gICAgICAtIFNNVFBfUE9SVD0ke1NNVFBfUE9SVH1cbiAgICAgIC0gU01UUF9VU0VSTkFNRT0ke1NNVFBfVVNFUk5BTUV9XG4gICAgICAtIFNNVFBfUEFTU1dPUkQ9JHtTTVRQX1BBU1NXT1JEfVxuICAgICAgLSBTTVRQX0ZST01fRU1BSUw9JHtTTVRQX0ZST01fRU1BSUx9XG4gICAgICAtIFNNVFBfRlJPTV9OQU1FPSR7U01UUF9GUk9NX05BTUV9XG5cbiAgICAgICMgU2VydmVyIGNvbmZpZ3VyYXRpb25cbiAgICAgIC0gU0VSVkVSX1BPUlQ9ODA4MFxuICAgICAgLSBTRVJWRVJfSE9TVD0wLjAuMC4wXG4gICAgICAtIEVOVklST05NRU5UPXByb2R1Y3Rpb25cblxudm9sdW1lczpcbiAgZGItZGF0YTpcbiAgICBkcml2ZXI6IGxvY2FsXG4iLAogICJjb25maWciOiAiW3ZhcmlhYmxlc11cbm1haW5fZG9tYWluID0gXCIke2RvbWFpbn1cIlxucGFzZXRvX3ByaXZhdGVfa2V5ID0gXCJkMDR6Q2szRmE0NW9PakRXSHBBdmMxQVp4bkxkR2ZmT25OV0srSnQyeVhmMzcrRlRmdU1NSGI4ZmxjZlBNcUxsdVJSM3J2aGJyNTU1cjZqMURFaWdyQT09XCJcbnBhc2V0b19wdWJsaWNfa2V5ID0gXCI5Ky9oVTM3akRCMi9INVhIenpLaTVia1VkNjc0VzYrZWVhK285UXhJb0t3PVwiXG5cbltjb25maWddXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJub3RpZnVzZVwiXG5wb3J0ID0gODA4MFxuaG9zdCA9IFwiJHttYWluX2RvbWFpbn1cIlxuXG5bY29uZmlnLmVudl1cblJPT1RfRU1BSUwgPSBcIiR7ZW1haWx9XCJcbkFQSV9FTkRQT0lOVCA9IFwiaHR0cHM6Ly8ke21haW5fZG9tYWlufVwiXG5cbiMgUEFTRVRPIGtleXMgZm9yIGF1dGhlbnRpY2F0aW9uXG4jIERlZmF1bHQga2V5cyBmb3IgdGVzdGluZyAtIEdFTkVSQVRFIFlPVVIgT1dOIGZvciBwcm9kdWN0aW9uIGF0IGh0dHBzOi8vcGFzZXRvLm5vdGlmdXNlLmNvbS9cblBBU0VUT19QUklWQVRFX0tFWSA9IFwiJHtwYXNldG9fcHJpdmF0ZV9rZXl9XCJcblBBU0VUT19QVUJMSUNfS0VZID0gXCIke3Bhc2V0b19wdWJsaWNfa2V5fVwiXG5cbiMgU01UUCBDb25maWd1cmF0aW9uICh1c2VycyBuZWVkIHRvIGNvbmZpZ3VyZSB0aGVzZSlcblNNVFBfSE9TVCA9IFwic210cC5nbWFpbC5jb21cIlxuU01UUF9QT1JUID0gXCI1ODdcIlxuU01UUF9VU0VSTkFNRSA9IFwieW91ci1lbWFpbEBnbWFpbC5jb21cIlxuU01UUF9QQVNTV09SRCA9IFwieW91ci1zbXRwLXBhc3N3b3JkXCJcblNNVFBfRlJPTV9FTUFJTCA9IFwibm9yZXBseUB5b3VyZG9tYWluLmNvbVwiXG5TTVRQX0ZST01fTkFNRSA9IFwiTm90aWZ1c2VcIlxuXG5bW2NvbmZpZy5tb3VudHNdXVxuIgp9Links
Tags
newsletter, email, communication, notifications
Version: latest