]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - shared/models/server/server-config.model.ts
Add ability to disable webtorrent
[github/Chocobozzz/PeerTube.git] / shared / models / server / server-config.model.ts
... / ...
CommitLineData
1import { NSFWPolicyType } from '../videos/nsfw-policy.type'
2import { ClientScript } from '../plugins/plugin-package-json.model'
3
4export interface ServerConfigPlugin {
5 name: string
6 version: string
7 description: string
8 clientScripts: { [name: string]: ClientScript }
9}
10
11export interface ServerConfigTheme extends ServerConfigPlugin {
12 css: string[]
13}
14
15export interface ServerConfig {
16 serverVersion: string
17 serverCommit?: string
18
19 instance: {
20 name: string
21 shortDescription: string
22 defaultClientRoute: string
23 isNSFW: boolean
24 defaultNSFWPolicy: NSFWPolicyType
25 customizations: {
26 javascript: string
27 css: string
28 }
29 }
30
31 plugin: {
32 registered: ServerConfigPlugin[]
33 }
34
35 theme: {
36 registered: ServerConfigTheme[]
37 default: string
38 }
39
40 email: {
41 enabled: boolean
42 }
43
44 contactForm: {
45 enabled: boolean
46 }
47
48 signup: {
49 allowed: boolean,
50 allowedForCurrentIP: boolean
51 requiresEmailVerification: boolean
52 }
53
54 transcoding: {
55 hls: {
56 enabled: boolean
57 }
58
59 webtorrent: {
60 enabled: boolean
61 }
62
63 enabledResolutions: number[]
64 }
65
66 import: {
67 videos: {
68 http: {
69 enabled: boolean
70 }
71 torrent: {
72 enabled: boolean
73 }
74 }
75 }
76
77 autoBlacklist: {
78 videos: {
79 ofUsers: {
80 enabled: boolean
81 }
82 }
83 }
84
85 avatar: {
86 file: {
87 size: {
88 max: number
89 }
90 extensions: string[]
91 }
92 }
93
94 video: {
95 image: {
96 size: {
97 max: number
98 }
99 extensions: string[]
100 },
101 file: {
102 extensions: string[]
103 }
104 }
105
106 videoCaption: {
107 file: {
108 size: {
109 max: number
110 },
111 extensions: string[]
112 }
113 }
114
115 user: {
116 videoQuota: number
117 videoQuotaDaily: number
118 }
119
120 trending: {
121 videos: {
122 intervalDays: number
123 }
124 }
125
126 tracker: {
127 enabled: boolean
128 }
129}