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