feat(whitelabel): add in the ability to whitelabel via envvars (#887)

* feat(whitelabel): add in the ability to whitelabel via envvars

* restore site.webmanifest

* fix(dynamic): remove force-dynamic from routes that don't need it (#888)

* Reinstall dependencies

* Update docs
This commit is contained in:
Waleed Latif
2025-08-05 19:01:12 -07:00
committed by GitHub
parent 1b0d304a87
commit e43e78fb48
26 changed files with 583 additions and 205 deletions
@@ -0,0 +1,91 @@
# Whitelabeled deployment example for Sim
# This configuration shows how to customize branding for Acme Corp
# Global configuration
global:
imageRegistry: "ghcr.io"
storageClass: "managed-csi-premium"
# Main application with custom branding
app:
enabled: true
replicaCount: 1
# Custom branding configuration
env:
# Application URLs (update with your domain)
NEXT_PUBLIC_APP_URL: "https://sim.acme.ai"
BETTER_AUTH_URL: "https://sim.acme.ai"
SOCKET_SERVER_URL: "https://sim-ws.acme.ai"
NEXT_PUBLIC_SOCKET_URL: "https://sim-ws.acme.ai"
# Security settings (REQUIRED)
BETTER_AUTH_SECRET: "your-production-auth-secret-here"
ENCRYPTION_KEY: "your-production-encryption-key-here"
# UI Branding & Whitelabeling Configuration
NEXT_PUBLIC_BRAND_NAME: "Acme AI Studio"
NEXT_PUBLIC_BRAND_LOGO_URL: "https://acme.com/assets/logo.png"
NEXT_PUBLIC_BRAND_FAVICON_URL: "https://acme.com/assets/favicon.ico"
NEXT_PUBLIC_BRAND_PRIMARY_COLOR: "#1a365d" # Acme blue
NEXT_PUBLIC_BRAND_SECONDARY_COLOR: "#2d3748" # Dark gray
NEXT_PUBLIC_BRAND_ACCENT_COLOR: "#38b2ac" # Teal accent
NEXT_PUBLIC_CUSTOM_CSS_URL: "https://acme.com/assets/theme.css"
NEXT_PUBLIC_HIDE_BRANDING: "true" # Hide "Powered by Sim"
NEXT_PUBLIC_CUSTOM_FOOTER_TEXT: "© 2024 Acme Corp. All rights reserved."
NEXT_PUBLIC_SUPPORT_EMAIL: "ai-support@acme.com"
NEXT_PUBLIC_SUPPORT_URL: "https://help.acme.com/ai-studio"
NEXT_PUBLIC_DOCUMENTATION_URL: "https://docs.acme.com/ai-studio"
NEXT_PUBLIC_TERMS_URL: "https://acme.com/terms"
NEXT_PUBLIC_PRIVACY_URL: "https://acme.com/privacy"
# Realtime service
realtime:
enabled: true
replicaCount: 1
env:
NEXT_PUBLIC_APP_URL: "https://sim.acme.ai"
BETTER_AUTH_URL: "https://sim.acme.ai"
NEXT_PUBLIC_SOCKET_URL: "https://sim-ws.acme.ai"
BETTER_AUTH_SECRET: "your-production-auth-secret-here"
ALLOWED_ORIGINS: "https://sim.acme.ai"
# PostgreSQL database
postgresql:
enabled: true
auth:
password: "your-secure-db-password-here"
persistence:
enabled: true
size: 20Gi
# Ingress configuration
ingress:
enabled: true
className: "nginx"
annotations:
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
app:
host: "sim.acme.ai"
paths:
- path: /
pathType: Prefix
realtime:
host: "sim-ws.acme.ai"
paths:
- path: /
pathType: Prefix
tls:
enabled: true
secretName: "sim-acme-tls"
# Auto-scaling
autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 70
+16
View File
@@ -71,6 +71,22 @@ app:
GITHUB_CLIENT_ID: ""
GITHUB_CLIENT_SECRET: ""
RESEND_API_KEY: ""
# UI Branding & Whitelabeling Configuration
NEXT_PUBLIC_BRAND_NAME: "Sim" # Custom brand name
NEXT_PUBLIC_BRAND_LOGO_URL: "" # Custom logo URL (leave empty for default)
NEXT_PUBLIC_BRAND_FAVICON_URL: "" # Custom favicon URL (leave empty for default)
NEXT_PUBLIC_BRAND_PRIMARY_COLOR: "#000000" # Primary brand color (hex)
NEXT_PUBLIC_BRAND_SECONDARY_COLOR: "#6366f1" # Secondary brand color (hex)
NEXT_PUBLIC_BRAND_ACCENT_COLOR: "#f59e0b" # Accent brand color (hex)
NEXT_PUBLIC_CUSTOM_CSS_URL: "" # Custom stylesheet URL (leave empty for none)
NEXT_PUBLIC_HIDE_BRANDING: "false" # Hide "Powered by" branding (true/false)
NEXT_PUBLIC_CUSTOM_FOOTER_TEXT: "" # Custom footer text (leave empty for default)
NEXT_PUBLIC_SUPPORT_EMAIL: "help@sim.ai" # Support email address
NEXT_PUBLIC_SUPPORT_URL: "" # Support page URL (leave empty for none)
NEXT_PUBLIC_DOCUMENTATION_URL: "" # Documentation URL (leave empty for none)
NEXT_PUBLIC_TERMS_URL: "" # Terms of service URL (leave empty for none)
NEXT_PUBLIC_PRIVACY_URL: "" # Privacy policy URL (leave empty for none)
# Service configuration
service: