Skip to content

Configuration

VideoCMS is configured using environment variables. This page lists all available configuration options.

General Settings

VariableDescriptionDefault
HostThe host and port the server listens on.:3000
AppNameThe name of your application instance.-
BaseUrlThe base URL of the API (e.g., https://api.example.com).-
ProjectThe project name.-
ProjectDocumentationURL to project documentation.-
ProjectDownloadURL to project download page.-
ProjectExampleVideoUUID of an example video.-

Security & Authentication

VariableDescriptionDefault
JwtSecretKeySecret key for JWT authentication. Change this!-
JwtUploadSecretKeySecret key for upload sessions. Change this!-
TrustedProxiesComma-separated list of trusted proxy IPs.-
TrustLocalTrafficWhether to trust local traffic (true/false).-
CorsAllowOriginsAllowed CORS origins.-
CorsAllowHeadersAllowed CORS headers.-
CorsAllowCredentialsAllow CORS credentials (true/false).-

Feature Flags

VariableDescriptionDefault
EncodingEnabledEnable video encoding (true/false).-
UploadEnabledEnable video uploads (true/false).-
DownloadEnabledEnable video downloads (true/false).-
PlayerV2EnabledEnable the V2 player (true/false).-
ContinueWatchingPopupEnabledEnable "Continue Watching" popup (true/false).-
ReloadHtmlEnable HTML reloading (dev mode) (true/false).-

Limits & Performance

VariableDescriptionDefault
RatelimitEnabledEnable rate limiting (true/false).-
RatelimitRateGlobalGlobal rate limit rate.-
RatelimitBurstGlobalGlobal rate limit burst.-
RatelimitRateAuthAuth rate limit rate.-
RatelimitBurstAuthAuth rate limit burst.-
RatelimitRateApiAPI rate limit rate.-
RatelimitBurstApiAPI rate limit burst.-
RatelimitRateUploadUpload rate limit rate.-
RatelimitBurstUploadUpload rate limit burst.-
RatelimitRateWebWeb rate limit rate.-
RatelimitBurstWebWeb rate limit burst.-
MaxItemsMultiDeleteMax items for bulk deletion.-
MaxRunningEncodesMax concurrent encoding jobs.-
MaxFramerateMax framerate for encoded videos.-
MaxUploadFilesizeMax upload file size (bytes).-
MaxUploadChuncksizeMax upload chunk size (bytes).-
MaxUploadSessionsMax active upload sessions.-
MaxPostSizeMax HTTP POST body size.-

Storage Paths

VariableDescriptionDefault
FolderVideoQualitysPrivPrivate path for encoded videos../videos/qualitys
FolderVideoQualitysPubPublic URL path for encoded videos./videos/qualitys
FolderVideoUploadsPrivPrivate path for uploaded raw files../videos/uploads
StatsDriveNameDrive name for disk stats (e.g., nvme0n1).nvme0n1

CDN Integration

VariableDescriptionDefault
CloudflareEnabledEnable Cloudflare integration (true/false).-
BunnyCDNEnabledEnable BunnyCDN integration (true/false).-
FastlyEnabledEnable Fastly integration (true/false).-
KeyCDNEnabledEnable KeyCDN integration (true/false).-

Captcha

VariableDescriptionDefault
CaptchaEnabledEnable Captcha globally (true/false).-
CaptchaLoginEnabledEnable Captcha on login (true/false).-
CaptchaPlayerEnabledEnable Captcha on player (true/false).-
CaptchaTypeType of Captcha (recaptcha, hcaptcha, turnstile).-
Captcha_Recaptcha_PrivateKeyReCaptcha Private Key.-
Captcha_Recaptcha_PublicKeyReCaptcha Public Key.-
Captcha_Hcaptcha_PrivateKeyhCaptcha Private Key.-
Captcha_Hcaptcha_PublicKeyhCaptcha Public Key.-
Captcha_Turnstile_PrivateKeyCloudflare Turnstile Private Key.-
Captcha_Turnstile_PublicKeyCloudflare Turnstile Public Key.-

Encoding Settings

You can enable/disable specific resolutions and set their bitrate and CRF (Constant Rate Factor).

VariableDescription
EncodeHls240pEnable 240p encoding (true/false).
Hls240pVideoBitrateBitrate for 240p.
Hls240pCrfCRF for 240p.
EncodeHls360pEnable 360p encoding (true/false).
Hls360pVideoBitrateBitrate for 360p.
Hls360pCrfCRF for 360p.
EncodeHls480pEnable 480p encoding (true/false).
Hls480pVideoBitrateBitrate for 480p.
Hls480pCrfCRF for 480p.
EncodeHls720pEnable 720p encoding (true/false).
Hls720pVideoBitrateBitrate for 720p.
Hls720pCrfCRF for 720p.
EncodeHls1080pEnable 1080p encoding (true/false).
Hls1080pVideoBitrateBitrate for 1080p.
Hls1080pCrfCRF for 1080p.
EncodeHls1440pEnable 1440p encoding (true/false).
Hls1440pVideoBitrateBitrate for 1440p.
Hls1440pCrfCRF for 1440p.
EncodeHls2160pEnable 2160p (4K) encoding (true/false).
Hls2160pVideoBitrateBitrate for 2160p.
Hls2160pCrfCRF for 2160p.

Plugins

VariableDescription
EnablePluginPgsServerEnable PGS Subtitle Server plugin (true/false).
PluginPgsServerURL for PGS Subtitle Server.

Released under the AGPL-3.0 License.