PeerTube · Schema
ServerConfig
VideoDecentralizedFederationOpen SourceActivityPubSelf-HostedStreaming
Properties
| Name | Type | Description |
|---|---|---|
| instance | object | |
| search | object | |
| plugin | object | |
| theme | object | |
| object | ||
| contactForm | object | |
| serverVersion | string | |
| serverCommit | string | |
| signup | object | |
| transcoding | object | |
| import | object | |
| export | object | |
| autoBlacklist | object | |
| avatar | object | |
| video | object | |
| videoCaption | object | |
| user | object | |
| trending | object | |
| tracker | object | |
| followings | object | |
| federation | object | |
| homepage | object | |
| openTelemetry | object | PeerTube >= 6.1 |
| views | object | PeerTube >= 6.1 |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/peertube/main/json-schema/ServerConfig.json",
"title": "ServerConfig",
"properties": {
"instance": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"shortDescription": {
"type": "string"
},
"defaultClientRoute": {
"type": "string"
},
"isNSFW": {
"type": "boolean"
},
"defaultNSFWPolicy": {
"type": "string"
},
"serverCountry": {
"type": "string"
},
"defaultLanguage": {
"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"
}
}
},
"customizations": {
"type": "object",
"properties": {
"javascript": {
"type": "string"
},
"css": {
"type": "string"
}
}
},
"avatars": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActorImage"
}
},
"banners": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActorImage"
}
}
}
},
"search": {
"type": "object",
"properties": {
"remoteUri": {
"type": "object",
"properties": {
"users": {
"type": "boolean"
},
"anonymous": {
"type": "boolean"
}
}
}
}
},
"plugin": {
"type": "object",
"properties": {
"registered": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"theme": {
"type": "object",
"properties": {
"registered": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"email": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"contactForm": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"serverVersion": {
"type": "string"
},
"serverCommit": {
"type": "string"
},
"signup": {
"type": "object",
"properties": {
"allowed": {
"type": "boolean"
},
"allowedForCurrentIP": {
"type": "boolean"
},
"requiresEmailVerification": {
"type": "boolean"
}
}
},
"transcoding": {
"type": "object",
"properties": {
"hls": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"web_videos": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"enabledResolutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VideoResolutionSet"
}
}
}
},
"import": {
"type": "object",
"properties": {
"videos": {
"type": "object",
"properties": {
"http": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"torrent": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"videoChannelSynchronization": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"users": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"export": {
"type": "object",
"properties": {
"users": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"exportExpiration": {
"type": "number",
"description": "In milliseconds"
},
"maxUserVideoQuota": {
"type": "number",
"description": "In bytes"
}
}
}
}
},
"autoBlacklist": {
"type": "object",
"properties": {
"videos": {
"type": "object",
"properties": {
"ofUsers": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
}
}
},
"avatar": {
"type": "object",
"properties": {
"file": {
"type": "object",
"properties": {
"size": {
"type": "object",
"properties": {
"max": {
"type": "integer"
}
}
}
}
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"video": {
"type": "object",
"properties": {
"image": {
"type": "object",
"properties": {
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"size": {
"type": "object",
"properties": {
"max": {
"type": "integer"
}
}
}
}
},
"file": {
"type": "object",
"properties": {
"extensions": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"videoCaption": {
"type": "object",
"properties": {
"file": {
"type": "object",
"properties": {
"size": {
"type": "object",
"properties": {
"max": {
"type": "integer"
}
}
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"user": {
"type": "object",
"properties": {
"videoQuota": {
"type": "integer",
"description": "In bytes",
"example": 16810141515
},
"videoQuotaDaily": {
"type": "integer",
"description": "In bytes",
"example": 1681014151
}
}
},
"trending": {
"type": "object",
"properties": {
"videos": {
"type": "object",
"properties": {
"intervalDays": {
"type": "integer"
}
}
}
}
},
"tracker": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"followings": {
"type": "object",
"properties": {
"instance": {
"type": "object",
"properties": {
"autoFollowIndex": {
"type": "object",
"properties": {
"indexUrl": {
"type": "string",
"format": "url"
}
}
}
}
}
}
},
"federation": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"homepage": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"openTelemetry": {
"type": "object",
"description": "PeerTube >= 6.1",
"properties": {
"metrics": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"playbackStatsInterval": {
"type": "number",
"description": "Milliseconds"
}
}
}
}
},
"views": {
"type": "object",
"description": "PeerTube >= 6.1",
"properties": {
"views": {
"type": "object",
"properties": {
"watchingInterval": {
"type": "object",
"properties": {
"anonymous": {
"type": "number",
"description": "Milliseconds"
},
"users": {
"type": "number",
"description": "Milliseconds"
}
}
}
}
}
}
}
}
}