mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			250 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			250 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
| import { NSFWPolicyType } from '../videos/nsfw-policy.type'
 | |
| import { BroadcastMessageLevel } from './broadcast-message-level.type'
 | |
| 
 | |
| export type ConfigResolutions = {
 | |
|   '144p': boolean
 | |
|   '240p': boolean
 | |
|   '360p': boolean
 | |
|   '480p': boolean
 | |
|   '720p': boolean
 | |
|   '1080p': boolean
 | |
|   '1440p': boolean
 | |
|   '2160p': boolean
 | |
| }
 | |
| 
 | |
| export interface CustomConfig {
 | |
|   instance: {
 | |
|     name: string
 | |
|     shortDescription: string
 | |
|     description: string
 | |
|     terms: string
 | |
|     codeOfConduct: string
 | |
| 
 | |
|     creationReason: string
 | |
|     moderationInformation: string
 | |
|     administrator: string
 | |
|     maintenanceLifetime: string
 | |
|     businessModel: string
 | |
|     hardwareInformation: string
 | |
| 
 | |
|     languages: string[]
 | |
|     categories: number[]
 | |
| 
 | |
|     isNSFW: boolean
 | |
|     defaultNSFWPolicy: NSFWPolicyType
 | |
| 
 | |
|     defaultClientRoute: string
 | |
| 
 | |
|     customizations: {
 | |
|       javascript?: string
 | |
|       css?: string
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   theme: {
 | |
|     default: string
 | |
|   }
 | |
| 
 | |
|   services: {
 | |
|     twitter: {
 | |
|       username: string
 | |
|       whitelisted: boolean
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   client: {
 | |
|     videos: {
 | |
|       miniature: {
 | |
|         preferAuthorDisplayName: boolean
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     menu: {
 | |
|       login: {
 | |
|         redirectOnSingleExternalAuth: boolean
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   cache: {
 | |
|     previews: {
 | |
|       size: number
 | |
|     }
 | |
| 
 | |
|     captions: {
 | |
|       size: number
 | |
|     }
 | |
| 
 | |
|     torrents: {
 | |
|       size: number
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   signup: {
 | |
|     enabled: boolean
 | |
|     limit: number
 | |
|     requiresApproval: boolean
 | |
|     requiresEmailVerification: boolean
 | |
|     minimumAge: number
 | |
|   }
 | |
| 
 | |
|   admin: {
 | |
|     email: string
 | |
|   }
 | |
| 
 | |
|   contactForm: {
 | |
|     enabled: boolean
 | |
|   }
 | |
| 
 | |
|   user: {
 | |
|     history: {
 | |
|       videos: {
 | |
|         enabled: boolean
 | |
|       }
 | |
|     }
 | |
|     videoQuota: number
 | |
|     videoQuotaDaily: number
 | |
|   }
 | |
| 
 | |
|   videoChannels: {
 | |
|     maxPerUser: number
 | |
|   }
 | |
| 
 | |
|   transcoding: {
 | |
|     enabled: boolean
 | |
| 
 | |
|     allowAdditionalExtensions: boolean
 | |
|     allowAudioFiles: boolean
 | |
| 
 | |
|     remoteRunners: {
 | |
|       enabled: boolean
 | |
|     }
 | |
| 
 | |
|     threads: number
 | |
|     concurrency: number
 | |
| 
 | |
|     profile: string
 | |
| 
 | |
|     resolutions: ConfigResolutions & { '0p': boolean }
 | |
| 
 | |
|     alwaysTranscodeOriginalResolution: boolean
 | |
| 
 | |
|     webtorrent: {
 | |
|       enabled: boolean
 | |
|     }
 | |
| 
 | |
|     hls: {
 | |
|       enabled: boolean
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   live: {
 | |
|     enabled: boolean
 | |
| 
 | |
|     allowReplay: boolean
 | |
| 
 | |
|     latencySetting: {
 | |
|       enabled: boolean
 | |
|     }
 | |
| 
 | |
|     maxDuration: number
 | |
|     maxInstanceLives: number
 | |
|     maxUserLives: number
 | |
| 
 | |
|     transcoding: {
 | |
|       enabled: boolean
 | |
|       remoteRunners: {
 | |
|         enabled: boolean
 | |
|       }
 | |
|       threads: number
 | |
|       profile: string
 | |
|       resolutions: ConfigResolutions
 | |
|       alwaysTranscodeOriginalResolution: boolean
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   videoStudio: {
 | |
|     enabled: boolean
 | |
| 
 | |
|     remoteRunners: {
 | |
|       enabled: boolean
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   import: {
 | |
|     videos: {
 | |
|       concurrency: number
 | |
| 
 | |
|       http: {
 | |
|         enabled: boolean
 | |
|       }
 | |
|       torrent: {
 | |
|         enabled: boolean
 | |
|       }
 | |
|     }
 | |
|     videoChannelSynchronization: {
 | |
|       enabled: boolean
 | |
|       maxPerUser: number
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   trending: {
 | |
|     videos: {
 | |
|       algorithms: {
 | |
|         enabled: string[]
 | |
|         default: string
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   autoBlacklist: {
 | |
|     videos: {
 | |
|       ofUsers: {
 | |
|         enabled: boolean
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   followers: {
 | |
|     instance: {
 | |
|       enabled: boolean
 | |
|       manualApproval: boolean
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   followings: {
 | |
|     instance: {
 | |
|       autoFollowBack: {
 | |
|         enabled: boolean
 | |
|       }
 | |
| 
 | |
|       autoFollowIndex: {
 | |
|         enabled: boolean
 | |
|         indexUrl: string
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   broadcastMessage: {
 | |
|     enabled: boolean
 | |
|     message: string
 | |
|     level: BroadcastMessageLevel
 | |
|     dismissable: boolean
 | |
|   }
 | |
| 
 | |
|   search: {
 | |
|     remoteUri: {
 | |
|       users: boolean
 | |
|       anonymous: boolean
 | |
|     }
 | |
| 
 | |
|     searchIndex: {
 | |
|       enabled: boolean
 | |
|       url: string
 | |
|       disableLocalSearch: boolean
 | |
|       isDefaultSearch: boolean
 | |
|     }
 | |
|   }
 | |
| 
 | |
| }
 |