Skip to main content
Self-hosted deployment is available on the Scale plan only. A valid Scale-tier license key is required to run the self-hosted build.

Requirements

ComponentMinimumRecommended
CPU2 vCPU4 vCPU
RAM4 GB8 GB
Storage50 GB SSD200 GB SSD
OSUbuntu 22.04 LTSUbuntu 22.04 LTS
Docker24.x24.x
Docker Compose2.x2.x

Quick Start with Docker Compose

# Download the Nextoria Hub self-hosted bundle
curl -fsSL https://nextoriahub.com/install.sh | bash

# Navigate to the directory
cd nextoriahub

# Copy and configure the environment file
cp .env.example .env
nano .env

# Start all services
docker compose up -d
The application will be available at http://your-server-ip:3000.

Environment Configuration

Edit the .env file with your configuration:
# Application
APP_URL=https://app.youragency.com
LICENSE_KEY=YOUR_SCALE_LICENSE_KEY

# Database (PostgreSQL)
DATABASE_URL=postgresql://user:password@db:5432/nextoriahub

# Authentication
JWT_SECRET=your-256-bit-secret
SESSION_SECRET=another-256-bit-secret

# Stripe
STRIPE_SECRET_KEY=sk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...

# Stream Chat
STREAM_API_KEY=...
STREAM_API_SECRET=...

# File Storage (S3-compatible)
S3_BUCKET=nextoriahub-files
S3_REGION=us-east-1
S3_ACCESS_KEY_ID=...
S3_SECRET_ACCESS_KEY=...

# Email (SMTP)
SMTP_HOST=smtp.yourmailprovider.com
SMTP_PORT=587
SMTP_USER=notifications@youragency.com
SMTP_PASSWORD=...
EMAIL_FROM=Nextoria Hub <no-reply@youragency.com>

Docker Compose Services

The self-hosted bundle runs the following services:
ServiceDescriptionPort
appNextoria Hub web application3000
apiBackend API server4000
dbPostgreSQL 16 database5432
redisRedis for sessions and queues6379
minioS3-compatible file storage (if not using AWS S3)9000
nginxReverse proxy + SSL termination80, 443

SSL Configuration

The included nginx service handles SSL termination via Let’s Encrypt (Certbot):
# Issue SSL certificate for your domain
docker compose run --rm certbot certonly --webroot \
  --webroot-path=/var/www/certbot \
  -d app.youragency.com

# Restart nginx to load the certificate
docker compose restart nginx

Updates

Pull and apply updates:
docker compose pull
docker compose up -d
docker compose exec api bun db:migrate
We recommend subscribing to nextoriahub.com/changelog for release notifications.

Backups

Automate database backups with a cron job:
# Add to crontab: crontab -e
0 2 * * * docker compose exec -T db pg_dump -U postgres nextoriahub | gzip > /backups/nextoriahub-$(date +%Y%m%d).sql.gz
Retain at least 30 days of daily backups and store them off-server (S3, Backblaze, etc.).

Kubernetes

Helm charts for Kubernetes deployment are available for Scale customers. Contact your dedicated Success Manager for the Helm chart package and deployment guidance.