Skip to main content

Server Configuration

SMTP Server

SMTP is required for sending login links and notifications.

Add to backend.env:

SMTP_HOST             # Server address
SMTP_PORT # Port (typically 25, 587, or 465)
SMTP_USERNAME # Username
SMTP_PASSWORD # Password
SMTP_TLS_ENABLED # Enable TLS (true/false)

API and Secret Keys

Add to backend.env:

YACLOUD_API_KEY       # Yandex AI key (SpeechKit, YandexGPT)
JWT_SHARED_SECRET # Random string for JWT token encoding

APNS Configuration (iOS/macOS)

Apple Push Notification Service delivers notifications to iOS and macOS devices.

Getting an APNS Key

  1. Join Apple Developer Program at developer.apple.com

  2. Open Apple Developer Center → Certificates, Identifiers & Profiles

  3. Create a Certificate Signing Request (CSR):

    • Open Keychain Access on macOS
    • Select Keychain Access → Certificate Assistant → Request a Certificate from a Certificate Authority
    • Enter your email and name
    • Select "Saved to disk" and save the CSR file
  4. Create APNS Certificate:

    • In Apple Developer Center, go to Identifiers
    • Select your app
    • In Push Notifications section, create a new certificate using your CSR
  5. Download the certificate and save it

Backend Configuration

Add to backend-config.yml:

apns:
MACOS:
app-id: ""
voip-app-id: ""
key-id: ""
team-id: ""
signing-key-file-path: "AuthKey.p8"
host-type: PRODUCTION
IOS:
app-id: ""
voip-app-id: ""
key-id: ""
team-id: ""
signing-key-file-path: "AuthKey.p8"
host-type: PRODUCTION

FCM Configuration (Android)

Firebase Cloud Messaging delivers notifications to Android devices.

Getting an FCM Key

  1. Open Firebase Console

  2. Sign in with your Google account

  3. Create a project:

    • Click "Add project"
    • Enter project name
    • Accept terms
    • Choose your country/region
    • Optionally enable Google Analytics
  4. Get your Web API Key from the project overview

  5. Save the key as fcm_key.json in your working directory


Monitoring

YuChat services export logs and metrics to external systems (Prometheus/Grafana or ElasticSearch/Kibana).

The default deployment includes Prometheus and Grafana. Contact the development team for custom monitoring integrations.