Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.suprsend.com/llms.txt

Use this file to discover all available pages before exploring further.

Dependencies

This document outlines all the infrastructure dependencies required to deploy and run SuprSend in self-hosted mode.

Core Infrastructure Requirements

Kubernetes Cluster

  • Version: Kubernetes v1.29+
  • Purpose: Container orchestration for SuprSend services
  • Deployment: Can be deployed on any Kubernetes distribution (GKE, EKS, AKS, DigitalOcean, etc.)
  • Recommendation: Use managed Kubernetes services for production deployments

Storage Requirements

  • Persistent Volumes: Required for stateful services
  • Storage Classes: Must support ReadWriteOnce access mode
  • Recommended: SSD storage for optimal performance
  • Size: Minimum 100–200 GB per database instance
  • Object Storage: Blob store for files, attachments, and media assets
    • Options: AWS S3, Azure Blob Storage, or Google Cloud Storage
    • Buckets: Two buckets required (private and public)
    • Requirements: Encryption at rest, access controls, versioning
    • Use Cases: Template assets, user uploads

Temporal

  • Version: Temporal v1.25+
  • Purpose: Workflow orchestration and state management
  • Deployment: Can be deployed in-cluster or as external service
  • Use Case: Reliable workflow execution and state management
  • Installation Guide: Temporal Setup Guide

Database Dependencies

PostgreSQL

  • Version: PostgreSQL v17+ (required)
  • Purpose: Primary data store for users, templates, workflows, and notifications
  • Installation Guide: PostgreSQL Setup Guide
Configuration Requirements:
shared_preload_libraries = 'pg_stat_statements,pg_cron'
cron.database_name = 'defaultdb'
cron.max_running_jobs = 1
hot_standby_feedback = on
max_standby_archive_delay = -1
max_standby_streaming_delay = -1
wal_level = logical
Required Extensions:
  • pg_cron — For scheduled jobs
  • pgcrypto — For cryptographic functions
  • pg_stat_statements — For query performance monitoring
  • btree_gin — For GIN indexes
  • btree_gist — For GiST indexes
Databases — 6 databases required:
  • suprsend — Main application database
  • defaultdb — Default database for cron jobs
  • pronto — Pronto service database
  • svix — Svix webhook service database
  • temporal — Temporal workflow database
  • temporal_visibility — Temporal visibility database

ClickHouse

  • Version: ClickHouse v24.9+
  • Purpose: Analytics and logs storage
  • Deployment: Recommended outside Kubernetes for better performance
  • Storage: High-performance storage recommended (SSD)
  • Configuration: Single-node or clustered setup based on scale requirements
  • Installation Guide: ClickHouse Setup Guide

OpenSearch

  • Version: OpenSearch v1.3+
  • Purpose: Full-text search and advanced query capabilities
  • Deployment: External service recommended
  • Use Case: Advanced search and log analysis features
  • Installation Guide: OpenSearch Setup Guide

Data Stores and Messaging

Redis

  • Version: Redis v7.0+
  • Purpose: Cache and short-term state management
  • Deployment: Dedicated deployment preferred (outside Kubernetes)
  • Instances: 2 Redis stores required:
    • Redis 1: Short-term load management
    • Redis 2: Workflow states and data processing
  • Configuration: High availability setup recommended
  • Installation Guide: Redis Setup Guide

NATS

  • Version: NATS v2.10+
  • Purpose: Message broker for scalable event ingestion
  • Deployment: Can be deployed in-cluster or as external service
  • Use Case: High-volume event processing scenarios

Object Storage

  • Purpose: Object storage for files, attachments, and media assets
  • Supported Providers:
    • AWS S3: Amazon Simple Storage Service
    • Azure Blob Storage: Microsoft Azure object storage
    • Google Cloud Storage: Google Cloud object storage
  • Bucket Configuration: Two buckets required:
    • Private Bucket: For sensitive files, user uploads, and internal assets
    • Public Bucket: For publicly accessible content and media files
  • Use Cases:
    • Template assets and media files
    • User-uploaded attachments
    • Backup storage for database dumps
  • Requirements:
    • Access Control: IAM policies for secure access to private bucket
    • Public Access: Public read access for public bucket
  • Configuration Guide: Blob Store Configuration Guide

Optional Services

WorkOS

  • Purpose: Enterprise Single Sign-On (SSO), SAML, and social login authentication for the SuprSend dashboard
  • Deployment: SaaS service managed by WorkOS (no self-hosting required)
  • Default Behavior: Without WorkOS, the dashboard uses passwordless email+code login
  • Installation Guide: WorkOS Integration Guide

Quick Start

For a complete step-by-step deployment guide, see: