OmniStream Docs
  • Panduan Pengguna
  • Developer
  • API Reference
Developer Hub
Pendahuluan
Autentikasi
Model Data
Webhook
WebSocket
Self-Hosting
    Prasyarat Self-HostingDocker ComposeEnvironment VariablesDatabase MigrationsMeta App SetupSMTP ConfigReverse Proxy + CORS ProduksiCORS di Produksi
Error & Rate Limit
Self-Hosting

Environment Variables

Environment Variables

Semua service OmniStream membaca konfigurasi dari environment variable — disediakan lewat file .env (untuk dev lokal) atau injected oleh Docker Compose / sistem orchestrasi. Template lengkapnya ada di .env.example di root repositori.

DATABASE_URL dan MONGODB_URI tidak punya nilai default. Service akan gagal start jika keduanya tidak diset. Semua var lain punya fallback masuk akal.

Infrastruktur (wajib)

VariabelContohWajibDipakai oleh
DATABASE_URLpostgres://omnistream:secret@localhost:5432/omnistreamYaSemua service yang baca Postgres
MONGODB_URImongodb://omnistream:secret@localhost:27017Yachat-engine, api-gateway, ws-server
MONGODB_DATABASEomnistreamYaidem
REDIS_URLredis://localhost:6379Yaapi-gateway, ws-server, chat-engine
KAFKA_BROKERSlocalhost:9092Yawebhook-ingestor, chat-engine, message-sender, api-gateway

JWT (wajib)

VariabelDefaultWajibCatatan
JWT_SECRET—YaMinimal 32 karakter; generate dengan openssl rand -hex 32
JWT_EXPIRATION_HOURS24NoUmur token login sebelum expired

Port service (opsional — default aman)

VariabelDefaultService
API_GATEWAY_PORT3000api-gateway
WEBHOOK_INGESTOR_PORT3001webhook-ingestor (satu binary, empat route /webhook/{whatsapp,messenger,instagram,email})
WS_SERVER_PORT3002ws-server

WhatsApp / Meta Cloud API

Diperlukan jika anda meng-enable channel WhatsApp. Bisa juga diatur via UI Settings → Integrations — yang di UI akan override nilai .env (polling setiap 30 detik).

VariabelWajib untuk WhatsAppCatatan
META_APP_SECRETYaUntuk verifikasi HMAC webhook Meta
META_VERIFY_TOKENYaChallenge token GET webhook (atur sama di Meta dashboard)
META_ACCESS_TOKENYaLong-lived access token; bisa dioverride dari DB
META_PHONE_NUMBER_IDYaPhone Number ID dari WhatsApp Business Account
META_API_URLNoDefault https://graph.facebook.com/v21.0

Instagram DM

Diperlukan jika anda meng-enable channel Instagram.

VariabelWajib untuk IGCatatan
INSTAGRAM_PAGE_IDOpsionalBisa dikosongkan jika user_id dari OAuth flow dipakai
INSTAGRAM_APP_IDYaInstagram Login app ID
INSTAGRAM_APP_SECRETYaInstagram Login app secret

Facebook Messenger

VariabelCatatan
MESSENGER_LOGIN_CONFIG_IDFacebook Login Configuration ID dari Developer Console

Email (SMTP)

Untuk channel email outbound + inbound webhook.

VariabelDefaultWajibCatatan
SMTP_HOSTmailpitNoKosongkan untuk disable channel email
SMTP_PORT1025No587 (STARTTLS) atau 465 (TLS implisit) di produksi
SMTP_USERNAME—NoUntuk provider seperti SendGrid/SES
SMTP_PASSWORD—Noidem
SMTP_FROM_ADDRESSnoreply@omnistream.localNoAlamat "from" untuk email outbound
SMTP_ENCRYPTIONnoneNonone (Mailpit dev), starttls, tls
EMAIL_WEBHOOK_SECRET—NoShared secret untuk verifikasi webhook provider (SendGrid)

Logging

VariabelDefault
RUST_LOGinfo,omni_common=debug,webhook_ingestor=debug,chat_engine=debug,api_gateway=debug,message_sender=debug,ws_server=debug

Formatnya sama seperti tracing_subscriber standar — anda bisa mengatur per-modul log level secara granular.

CORS & Frontend

VariabelDefaultCatatan
FRONTEND_URLhttp://localhost:4000Origin yang diizinkan CORS; dipakai sebagai redirect OAuth destination

Di produksi, ganti FRONTEND_URL ke domain asli anda (mis. https://crm.example.com) dan ikuti panduan di developer/self-hosting/reverse-proxy untuk mengunci allowlist CORS backend.

Ringkasan minimal untuk dev lokal

TerminalCode
DATABASE_URL=postgres://omnistream:secret@localhost:5432/omnistream MONGODB_URI=mongodb://omnistream:secret@localhost:27017 MONGODB_DATABASE=omnistream REDIS_URL=redis://localhost:6379 KAFKA_BROKERS=localhost:9092 JWT_SECRET=dev_jwt_secret_minimum_thirty_two_characters_long SMTP_HOST=mailpit SMTP_PORT=1025 SMTP_ENCRYPTION=none

Cukup untuk menjalankan API + WS + dev frontend tanpa channel eksternal. Channel WhatsApp/Instagram/Email menyala begitu anda mengisi var terkait dari tabel di atas.

Last modified on June 8, 2026
Docker ComposeDatabase Migrations
On this page
  • Infrastruktur (wajib)
  • JWT (wajib)
  • Port service (opsional — default aman)
  • WhatsApp / Meta Cloud API
  • Instagram DM
  • Facebook Messenger
  • Email (SMTP)
  • Logging
  • CORS & Frontend
  • Ringkasan minimal untuk dev lokal