]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - shared/models/server/custom-config.model.ts
Correctlu throws an error on manifestIncompatibleCodecsError
[github/Chocobozzz/PeerTube.git] / shared / models / server / custom-config.model.ts
1 import { NSFWPolicyType } from '../videos/nsfw-policy.type'
2 import { BroadcastMessageLevel } from './broadcast-message-level.type'
3
4 export type ConfigResolutions = {
5 '240p': boolean
6 '360p': boolean
7 '480p': boolean
8 '720p': boolean
9 '1080p': boolean
10 '1440p': boolean
11 '2160p': boolean
12 }
13
14 export interface CustomConfig {
15 instance: {
16 name: string
17 shortDescription: string
18 description: string
19 terms: string
20 codeOfConduct: string
21
22 creationReason: string
23 moderationInformation: string
24 administrator: string
25 maintenanceLifetime: string
26 businessModel: string
27 hardwareInformation: string
28
29 languages: string[]
30 categories: number[]
31
32 isNSFW: boolean
33 defaultNSFWPolicy: NSFWPolicyType
34
35 defaultClientRoute: string
36
37 customizations: {
38 javascript?: string
39 css?: string
40 }
41 }
42
43 theme: {
44 default: string
45 }
46
47 services: {
48 twitter: {
49 username: string
50 whitelisted: boolean
51 }
52 }
53
54 cache: {
55 previews: {
56 size: number
57 }
58
59 captions: {
60 size: number
61 }
62 }
63
64 signup: {
65 enabled: boolean
66 limit: number
67 requiresEmailVerification: boolean
68 }
69
70 admin: {
71 email: string
72 }
73
74 contactForm: {
75 enabled: boolean
76 }
77
78 user: {
79 videoQuota: number
80 videoQuotaDaily: number
81 }
82
83 transcoding: {
84 enabled: boolean
85
86 allowAdditionalExtensions: boolean
87 allowAudioFiles: boolean
88
89 threads: number
90
91 profile: string
92
93 resolutions: ConfigResolutions & { '0p': boolean }
94
95 webtorrent: {
96 enabled: boolean
97 }
98
99 hls: {
100 enabled: boolean
101 }
102 }
103
104 live: {
105 enabled: boolean
106
107 allowReplay: boolean
108
109 maxDuration: number
110 maxInstanceLives: number
111 maxUserLives: number
112
113 transcoding: {
114 enabled: boolean
115 threads: number
116 profile: string
117 resolutions: ConfigResolutions
118 }
119 }
120
121 import: {
122 videos: {
123 http: {
124 enabled: boolean
125 }
126 torrent: {
127 enabled: boolean
128 }
129 }
130 }
131
132 trending: {
133 videos: {
134 algorithms: {
135 enabled: string[]
136 default: string
137 }
138 }
139 }
140
141 autoBlacklist: {
142 videos: {
143 ofUsers: {
144 enabled: boolean
145 }
146 }
147 }
148
149 followers: {
150 instance: {
151 enabled: boolean
152 manualApproval: boolean
153 }
154 }
155
156 followings: {
157 instance: {
158 autoFollowBack: {
159 enabled: boolean
160 }
161
162 autoFollowIndex: {
163 enabled: boolean
164 indexUrl: string
165 }
166 }
167 }
168
169 broadcastMessage: {
170 enabled: boolean
171 message: string
172 level: BroadcastMessageLevel
173 dismissable: boolean
174 }
175
176 search: {
177 remoteUri: {
178 users: boolean
179 anonymous: boolean
180 }
181
182 searchIndex: {
183 enabled: boolean
184 url: string
185 disableLocalSearch: boolean
186 isDefaultSearch: boolean
187 }
188 }
189 }