PeerTube · Schema
ServerConfigCustom
VideoDecentralizedFederationOpen SourceActivityPubSelf-HostedStreaming
Properties
| Name | Type | Description |
|---|---|---|
| instance | object | |
| theme | object | |
| services | object | |
| cache | object | |
| signup | object | |
| admin | object | |
| contactForm | object | |
| user | object | Settings that apply to new users, if registration is enabled |
| transcoding | object | Settings pertaining to transcoding jobs |
| import | object | |
| autoBlacklist | object | |
| followers | object | |
| storyboard | object | |
| defaults | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/peertube/main/json-schema/ServerConfigCustom.json",
"title": "ServerConfigCustom",
"properties": {
"instance": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"shortDescription": {
"type": "string"
},
"description": {
"type": "string"
},
"terms": {
"type": "string"
},
"codeOfConduct": {
"type": "string"
},
"creationReason": {
"type": "string"
},
"moderationInformation": {
"type": "string"
},
"administrator": {
"type": "string"
},
"maintenanceLifetime": {
"type": "string"
},
"businessModel": {
"type": "string"
},
"hardwareInformation": {
"type": "string"
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"categories": {
"type": "array",
"items": {
"type": "number"
}
},
"isNSFW": {
"type": "boolean"
},
"defaultNSFWPolicy": {
"type": "string"
},
"serverCountry": {
"type": "string"
},
"support": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
}
},
"social": {
"type": "object",
"properties": {
"externalLink": {
"type": "string"
},
"mastodonLink": {
"type": "string"
},
"blueskyLink": {
"type": "string"
},
"xLink": {
"type": "string"
}
}
},
"defaultClientRoute": {
"type": "string"
},
"customizations": {
"type": "object",
"properties": {
"javascript": {
"type": "string"
},
"css": {
"type": "string"
}
}
}
}
},
"theme": {
"type": "object",
"properties": {
"default": {
"type": "string"
}
}
},
"services": {
"type": "object",
"properties": {
"twitter": {
"type": "object",
"properties": {
"username": {
"type": "string"
}
}
}
}
},
"cache": {
"type": "object",
"properties": {
"previews": {
"type": "object",
"properties": {
"size": {
"type": "integer"
}
}
},
"captions": {
"type": "object",
"properties": {
"size": {
"type": "integer"
}
}
}
}
},
"signup": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"limit": {
"type": "integer"
},
"requiresEmailVerification": {
"type": "boolean"
}
}
},
"admin": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
}
}
},
"contactForm": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"user": {
"type": "object",
"description": "Settings that apply to new users, if registration is enabled",
"properties": {
"videoQuota": {
"type": "integer",
"example": 16810141515
},
"videoQuotaDaily": {
"type": "integer",
"example": 1681014151
}
}
},
"transcoding": {
"type": "object",
"description": "Settings pertaining to transcoding jobs",
"properties": {
"enabled": {
"type": "boolean"
},
"originalFile": {
"type": "object",
"properties": {
"keep": {
"type": "boolean"
}
}
},
"allowAdditionalExtensions": {
"type": "boolean",
"description": "Allow your users to upload .mkv, .mov, .avi, .wmv, .flv, .f4v, .3g2, .3gp, .mts, m2ts, .mxf, .nut videos"
},
"allowAudioFiles": {
"type": "boolean",
"description": "If a user uploads an audio file, PeerTube will create a video by merging the preview file and the audio file"
},
"threads": {
"type": "integer",
"description": "Amount of threads used by ffmpeg for 1 transcoding job"
},
"concurrency": {
"type": "number",
"description": "Amount of transcoding jobs to execute in parallel"
},
"profile": {
"type": "string",
"enum": [
"default"
],
"description": "New profiles can be added by plugins ; available in core PeerTube: 'default'.\n"
},
"resolutions": {
"type": "object",
"description": "Resolutions to transcode _new videos_ to",
"properties": {
"0p": {
"type": "boolean"
},
"144p": {
"type": "boolean"
},
"240p": {
"type": "boolean"
},
"360p": {
"type": "boolean"
},
"480p": {
"type": "boolean"
},
"720p": {
"type": "boolean"
},
"1080p": {
"type": "boolean"
},
"1440p": {
"type": "boolean"
},
"2160p": {
"type": "boolean"
}
}
},
"web_videos": {
"type": "object",
"description": "Web Video specific settings",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"hls": {
"type": "object",
"description": "HLS specific settings",
"properties": {
"enabled": {
"type": "boolean"
},
"splitAudioAndVideo": {
"type": "boolean"
}
}
}
}
},
"import": {
"type": "object",
"properties": {
"videos": {
"type": "object",
"properties": {
"http": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"torrent": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"video_channel_synchronization": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"autoBlacklist": {
"type": "object",
"properties": {
"videos": {
"type": "object",
"properties": {
"ofUsers": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
}
}
},
"followers": {
"type": "object",
"properties": {
"instance": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"manualApproval": {
"type": "boolean"
}
}
}
}
},
"storyboard": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"defaults": {
"type": "object",
"properties": {
"publish": {
"type": "object",
"properties": {
"downloadEnabled": {
"type": "boolean"
},
"commentsPolicy": {
"$ref": "#/components/schemas/VideoCommentsPolicySet"
},
"privacy": {
"$ref": "#/components/schemas/VideoPrivacySet"
},
"licence": {
"$ref": "#/components/schemas/VideoLicenceSet"
}
}
},
"p2p": {
"type": "object",
"properties": {
"webapp": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"embed": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"player": {
"type": "object",
"properties": {
"autoPlay": {
"type": "boolean"
}
}
}
}
}
}
}