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
-
Join Apple Developer Program at developer.apple.com
-
Open Apple Developer Center → Certificates, Identifiers & Profiles
-
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
-
Create APNS Certificate:
- In Apple Developer Center, go to Identifiers
- Select your app
- In Push Notifications section, create a new certificate using your CSR
-
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
-
Open Firebase Console
-
Sign in with your Google account
-
Create a project:
- Click "Add project"
- Enter project name
- Accept terms
- Choose your country/region
- Optionally enable Google Analytics
-
Get your Web API Key from the project overview
-
Save the key as
fcm_key.jsonin 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.