diff --git a/docs/installation.md b/docs/installation.md index 46b95f03..c595de45 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -252,7 +252,7 @@ You can use LaSuite Meet on https://meet.127.0.0.1.nip.io from the local device. These are the environmental options available on meet backend. | Option | Description | default | -| ----------------------------------------------- |------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| +|-------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| | DATA_DIR | Data directory location | /data | | DJANGO_ALLOWED_HOSTS | Hosts that are allowed | [] | | DJANGO_SECRET_KEY | Secret key used for Django security | | @@ -346,6 +346,7 @@ These are the environmental options available on meet backend. | RECORDING_STORAGE_EVENT_ENABLE | Enable recording storage events | false | | RECORDING_STORAGE_EVENT_TOKEN | Recording storage event token | | | RECORDING_EXPIRATION_DAYS | Recording expiration in days | | +| RECORDING_MAX_DURATION | Maximum recording duration in milliseconds. Must match LiveKit Egress configuration exactly. | | | SCREEN_RECORDING_BASE_URL | Screen recording base URL | | | SUMMARY_SERVICE_ENDPOINT | Summary service endpoint | | | SUMMARY_SERVICE_API_TOKEN | API token for summary service | | diff --git a/src/backend/core/api/__init__.py b/src/backend/core/api/__init__.py index aaebdc55..8a419ee5 100644 --- a/src/backend/core/api/__init__.py +++ b/src/backend/core/api/__init__.py @@ -41,6 +41,7 @@ def get_frontend_configuration(request): "is_enabled": settings.RECORDING_ENABLE, "available_modes": settings.RECORDING_WORKER_CLASSES.keys(), "expiration_days": settings.RECORDING_EXPIRATION_DAYS, + "max_duration": settings.RECORDING_MAX_DURATION, }, "telephony": { "enabled": settings.ROOM_TELEPHONY_ENABLED, diff --git a/src/backend/meet/settings.py b/src/backend/meet/settings.py index 61801b5a..7b301e9d 100755 --- a/src/backend/meet/settings.py +++ b/src/backend/meet/settings.py @@ -525,6 +525,11 @@ class Base(Configuration): RECORDING_EXPIRATION_DAYS = values.IntegerValue( None, environ_name="RECORDING_EXPIRATION_DAYS", environ_prefix=None ) + # Recording max duration in milliseconds - must be synced with LiveKit Egress configuration + # Set to None for no max duration + RECORDING_MAX_DURATION = values.IntegerValue( + None, environ_name="RECORDING_MAX_DURATION", environ_prefix=None + ) SUMMARY_SERVICE_ENDPOINT = values.Value( None, environ_name="SUMMARY_SERVICE_ENDPOINT", environ_prefix=None ) diff --git a/src/frontend/src/api/useConfig.ts b/src/frontend/src/api/useConfig.ts index 9b96c2c2..b1673a50 100644 --- a/src/frontend/src/api/useConfig.ts +++ b/src/frontend/src/api/useConfig.ts @@ -29,6 +29,7 @@ export interface ApiConfig { is_enabled?: boolean available_modes?: RecordingMode[] expiration_days?: number + max_duration?: number } telephony: { enabled: boolean