Skip to content

Configuration

Tenant Manager Configuration

Environment Variables

Variable Default Description
SECRET_KEY (required) JWT signing key
DATABASE_URL db/manager.db SQLite database path
DEBUG false Enable debug mode
FRONTEND_PORT 32200 UI port
BACKEND_PORT 32201 API port

Database Settings

The tenant manager uses SQLite for metadata storage:

# db/database.py
DATABASE_URL = "sqlite:///db/manager.db"

Per-Tenant Configuration

Each tenant has its own .env file with:

# Application
APP_NAME="Campaign Name"
APP_NAME_SHORT="CN"

# URLs
FRONTEND_URL=https://campaign.example.com
BACKEND_API_URL=https://api.campaign.example.com

# Theme
THEME_PRIMARY_COLOR=#1E3A5F
THEME_SECONDARY_COLOR=#F1C613

# Logos
APP_LOGO_NAME=/static/images/logo-name.png
APP_LOGO_ICON=/static/images/logo-icon.png
APP_LOGO_CROPPED=/static/images/logo-cropped.png

Service Configuration

Systemd Services

Each tenant creates two systemd services:

  • {slug}-api.service - FastAPI backend
  • {slug}-frontend.service - FastHTML frontend

Nginx Configuration

Tenants are proxied via Nginx:

server {
    server_name campaign.example.com;

    location / {
        proxy_pass http://localhost:32300;
    }
}

See Also