diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/default.yaml | 71 | ||||
-rw-r--r-- | config/production.yaml.example | 70 | ||||
-rw-r--r-- | config/test-1.yaml | 1 | ||||
-rw-r--r-- | config/test-2.yaml | 1 | ||||
-rw-r--r-- | config/test-3.yaml | 1 | ||||
-rw-r--r-- | config/test-4.yaml | 1 | ||||
-rw-r--r-- | config/test-5.yaml | 1 | ||||
-rw-r--r-- | config/test-6.yaml | 1 | ||||
-rw-r--r-- | config/test.yaml | 2 |
9 files changed, 147 insertions, 2 deletions
diff --git a/config/default.yaml b/config/default.yaml index e16b8c352..37ef4366f 100644 --- a/config/default.yaml +++ b/config/default.yaml | |||
@@ -9,6 +9,16 @@ webserver: | |||
9 | hostname: 'localhost' | 9 | hostname: 'localhost' |
10 | port: 9000 | 10 | port: 9000 |
11 | 11 | ||
12 | rates_limit: | ||
13 | login: | ||
14 | # 15 attempts in 5 min | ||
15 | window: 5 minutes | ||
16 | max: 15 | ||
17 | ask_send_email: | ||
18 | # 3 attempts in 5 min | ||
19 | window: 5 minutes | ||
20 | max: 3 | ||
21 | |||
12 | # Proxies to trust to get real client IP | 22 | # Proxies to trust to get real client IP |
13 | # If you run PeerTube just behind a local proxy (nginx), keep 'loopback' | 23 | # If you run PeerTube just behind a local proxy (nginx), keep 'loopback' |
14 | # If you run PeerTube behind a remote proxy, add the proxy IP address (or subnet) | 24 | # If you run PeerTube behind a remote proxy, add the proxy IP address (or subnet) |
@@ -48,6 +58,7 @@ storage: | |||
48 | tmp: 'storage/tmp/' # Used to download data (imports etc), store uploaded files before processing... | 58 | tmp: 'storage/tmp/' # Used to download data (imports etc), store uploaded files before processing... |
49 | avatars: 'storage/avatars/' | 59 | avatars: 'storage/avatars/' |
50 | videos: 'storage/videos/' | 60 | videos: 'storage/videos/' |
61 | streaming_playlists: 'storage/streaming-playlists/' | ||
51 | redundancy: 'storage/redundancy/' | 62 | redundancy: 'storage/redundancy/' |
52 | logs: 'storage/logs/' | 63 | logs: 'storage/logs/' |
53 | previews: 'storage/previews/' | 64 | previews: 'storage/previews/' |
@@ -95,6 +106,38 @@ redundancy: | |||
95 | # strategy: 'recently-added' # Cache recently added videos | 106 | # strategy: 'recently-added' # Cache recently added videos |
96 | # min_views: 10 # Having at least x views | 107 | # min_views: 10 # Having at least x views |
97 | 108 | ||
109 | csp: | ||
110 | enabled: false | ||
111 | report_only: true # CSP directives are still being tested, so disable the report only mode at your own risk! | ||
112 | report_uri: | ||
113 | |||
114 | tracker: | ||
115 | # If you disable the tracker, you disable the P2P aspect of PeerTube | ||
116 | enabled: true | ||
117 | # Only handle requests on your videos. | ||
118 | # If you set this to false it means you have a public tracker. | ||
119 | # Then, it is possible that clients overload your instance with external torrents | ||
120 | private: true | ||
121 | # Reject peers that do a lot of announces (could improve privacy of TCP/UDP peers) | ||
122 | reject_too_many_announces: false | ||
123 | |||
124 | history: | ||
125 | videos: | ||
126 | # If you want to limit users videos history | ||
127 | # -1 means there is no limitations | ||
128 | # Other values could be '6 months' or '30 days' etc (PeerTube will periodically delete old entries from database) | ||
129 | max_age: -1 | ||
130 | |||
131 | views: | ||
132 | videos: | ||
133 | # PeerTube creates a database entry every hour for each video to track views over a period of time | ||
134 | # This is used in particular by the Trending page | ||
135 | # PeerTube could remove old remote video views if you want to reduce your database size (video view counter will not be altered) | ||
136 | # -1 means no cleanup | ||
137 | # Other values could be '6 months' or '30 days' etc (PeerTube will periodically delete old entries from database) | ||
138 | remote: | ||
139 | max_age: -1 | ||
140 | |||
98 | cache: | 141 | cache: |
99 | previews: | 142 | previews: |
100 | size: 500 # Max number of previews you want to cache | 143 | size: 500 # Max number of previews you want to cache |
@@ -138,6 +181,15 @@ transcoding: | |||
138 | 480p: false | 181 | 480p: false |
139 | 720p: false | 182 | 720p: false |
140 | 1080p: false | 183 | 1080p: false |
184 | # /!\ EXPERIMENTAL /!\ | ||
185 | # /!\ Requires ffmpeg >= 4 | ||
186 | # Generate HLS playlists and fragmented MP4 files. Better playback than with WebTorrent: | ||
187 | # * Resolution change is smoother | ||
188 | # * Faster playback in particular with long videos | ||
189 | # * More stable playback (less bugs/infinite loading) | ||
190 | # /!\ Multiplies videos storage by 2 /!\ | ||
191 | hls: | ||
192 | enabled: false | ||
141 | 193 | ||
142 | import: | 194 | import: |
143 | # Add ability for your users to import remote videos (from YouTube, torrent...) | 195 | # Add ability for your users to import remote videos (from YouTube, torrent...) |
@@ -147,12 +199,22 @@ import: | |||
147 | torrent: # Magnet URI or torrent file (use classic TCP/UDP/WebSeed to download the file) | 199 | torrent: # Magnet URI or torrent file (use classic TCP/UDP/WebSeed to download the file) |
148 | enabled: false | 200 | enabled: false |
149 | 201 | ||
202 | auto_blacklist: | ||
203 | # New videos automatically blacklisted so moderators can review before publishing | ||
204 | videos: | ||
205 | of_users: | ||
206 | enabled: false | ||
207 | |||
150 | instance: | 208 | instance: |
151 | name: 'PeerTube' | 209 | name: 'PeerTube' |
152 | short_description: 'PeerTube, a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.' | 210 | short_description: 'PeerTube, a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.' |
153 | description: 'Welcome to this PeerTube instance!' # Support markdown | 211 | description: 'Welcome to this PeerTube instance!' # Support markdown |
154 | terms: 'No terms for now.' # Support markdown | 212 | terms: 'No terms for now.' # Support markdown |
155 | default_client_route: '/videos/trending' | 213 | default_client_route: '/videos/trending' |
214 | # Whether or not the instance is dedicated to NSFW content | ||
215 | # Enabling it will allow other administrators to know that you are mainly federating sensitive content | ||
216 | # Moreover, the NSFW checkbox on video upload will be automatically checked by default | ||
217 | is_nsfw: false | ||
156 | # By default, "do_not_list" or "blur" or "display" NSFW videos | 218 | # By default, "do_not_list" or "blur" or "display" NSFW videos |
157 | # Could be overridden per user with a setting | 219 | # Could be overridden per user with a setting |
158 | default_nsfw_policy: 'do_not_list' | 220 | default_nsfw_policy: 'do_not_list' |
@@ -168,8 +230,6 @@ instance: | |||
168 | "# If you would like to report a security issue\n# you may report it to:\nContact: https://github.com/Chocobozzz/PeerTube/blob/develop/SECURITY.md\nContact: mailto:" | 230 | "# If you would like to report a security issue\n# you may report it to:\nContact: https://github.com/Chocobozzz/PeerTube/blob/develop/SECURITY.md\nContact: mailto:" |
169 | 231 | ||
170 | services: | 232 | services: |
171 | # You can provide a reporting endpoint for Content Security Policy violations | ||
172 | csp-logger: | ||
173 | # Cards configuration to format video in Twitter | 233 | # Cards configuration to format video in Twitter |
174 | twitter: | 234 | twitter: |
175 | username: '@Chocobozzz' # Indicates the Twitter account for the website or platform on which the content was published | 235 | username: '@Chocobozzz' # Indicates the Twitter account for the website or platform on which the content was published |
@@ -177,3 +237,10 @@ services: | |||
177 | # If false, we use an image link card that will redirect on your PeerTube instance | 237 | # If false, we use an image link card that will redirect on your PeerTube instance |
178 | # Change it to "true", and then test on https://cards-dev.twitter.com/validator to see if you are whitelisted | 238 | # Change it to "true", and then test on https://cards-dev.twitter.com/validator to see if you are whitelisted |
179 | whitelisted: false | 239 | whitelisted: false |
240 | |||
241 | followers: | ||
242 | instance: | ||
243 | # Allow or not other instances to follow yours | ||
244 | enabled: true | ||
245 | # Whether or not an administrator must manually validate a new follower | ||
246 | manual_approval: false | ||
diff --git a/config/production.yaml.example b/config/production.yaml.example index 661eac0d5..f84e15670 100644 --- a/config/production.yaml.example +++ b/config/production.yaml.example | |||
@@ -8,6 +8,16 @@ webserver: | |||
8 | hostname: 'example.com' | 8 | hostname: 'example.com' |
9 | port: 443 | 9 | port: 443 |
10 | 10 | ||
11 | rates_limit: | ||
12 | login: | ||
13 | # 15 attempts in 5 min | ||
14 | window: 5 minutes | ||
15 | max: 15 | ||
16 | ask_send_email: | ||
17 | # 3 attempts in 5 min | ||
18 | window: 5 minutes | ||
19 | max: 3 | ||
20 | |||
11 | # Proxies to trust to get real client IP | 21 | # Proxies to trust to get real client IP |
12 | # If you run PeerTube just behind a local proxy (nginx), keep 'loopback' | 22 | # If you run PeerTube just behind a local proxy (nginx), keep 'loopback' |
13 | # If you run PeerTube behind a remote proxy, add the proxy IP address (or subnet) | 23 | # If you run PeerTube behind a remote proxy, add the proxy IP address (or subnet) |
@@ -49,6 +59,7 @@ storage: | |||
49 | tmp: '/var/www/peertube/storage/tmp/' # Used to download data (imports etc), store uploaded files before processing... | 59 | tmp: '/var/www/peertube/storage/tmp/' # Used to download data (imports etc), store uploaded files before processing... |
50 | avatars: '/var/www/peertube/storage/avatars/' | 60 | avatars: '/var/www/peertube/storage/avatars/' |
51 | videos: '/var/www/peertube/storage/videos/' | 61 | videos: '/var/www/peertube/storage/videos/' |
62 | streaming_playlists: '/var/www/peertube/storage/streaming-playlists/' | ||
52 | redundancy: '/var/www/peertube/storage/videos/' | 63 | redundancy: '/var/www/peertube/storage/videos/' |
53 | logs: '/var/www/peertube/storage/logs/' | 64 | logs: '/var/www/peertube/storage/logs/' |
54 | previews: '/var/www/peertube/storage/previews/' | 65 | previews: '/var/www/peertube/storage/previews/' |
@@ -96,6 +107,39 @@ redundancy: | |||
96 | # strategy: 'recently-added' # Cache recently added videos | 107 | # strategy: 'recently-added' # Cache recently added videos |
97 | # min_views: 10 # Having at least x views | 108 | # min_views: 10 # Having at least x views |
98 | 109 | ||
110 | csp: | ||
111 | enabled: false | ||
112 | report_only: true # CSP directives are still being tested, so disable the report only mode at your own risk! | ||
113 | report_uri: | ||
114 | |||
115 | tracker: | ||
116 | # If you disable the tracker, you disable the P2P aspect of PeerTube | ||
117 | enabled: true | ||
118 | # Only handle requests on your videos. | ||
119 | # If you set this to false it means you have a public tracker. | ||
120 | # Then, it is possible that clients overload your instance with external torrents | ||
121 | private: true | ||
122 | # Reject peers that do a lot of announces (could improve privacy of TCP/UDP peers) | ||
123 | reject_too_many_announces: false | ||
124 | |||
125 | history: | ||
126 | videos: | ||
127 | # If you want to limit users videos history | ||
128 | # -1 means there is no limitations | ||
129 | # Other values could be '6 months' or '30 days' etc (PeerTube will periodically delete old entries from database) | ||
130 | max_age: -1 | ||
131 | |||
132 | views: | ||
133 | videos: | ||
134 | # PeerTube creates a database entry every hour for each video to track views over a period of time | ||
135 | # This is used in particular by the Trending page | ||
136 | # PeerTube could remove old remote video views if you want to reduce your database size (video view counter will not be altered) | ||
137 | # -1 means no cleanup | ||
138 | # Other values could be '6 months' or '30 days' etc (PeerTube will periodically delete old entries from database) | ||
139 | remote: | ||
140 | max_age: -1 | ||
141 | |||
142 | |||
99 | ############################################################################### | 143 | ############################################################################### |
100 | # | 144 | # |
101 | # From this point, all the following keys can be overridden by the web interface | 145 | # From this point, all the following keys can be overridden by the web interface |
@@ -151,6 +195,15 @@ transcoding: | |||
151 | 480p: false | 195 | 480p: false |
152 | 720p: false | 196 | 720p: false |
153 | 1080p: false | 197 | 1080p: false |
198 | # /!\ EXPERIMENTAL /!\ | ||
199 | # /!\ Requires ffmpeg >= 4 | ||
200 | # Generate HLS playlists and fragmented MP4 files. Better playback than with WebTorrent: | ||
201 | # * Resolution change is smoother | ||
202 | # * Faster playback in particular with long videos | ||
203 | # * More stable playback (less bugs/infinite loading) | ||
204 | # /!\ Multiplies videos storage by 2 /!\ | ||
205 | hls: | ||
206 | enabled: false | ||
154 | 207 | ||
155 | import: | 208 | import: |
156 | # Add ability for your users to import remote videos (from YouTube, torrent...) | 209 | # Add ability for your users to import remote videos (from YouTube, torrent...) |
@@ -160,6 +213,12 @@ import: | |||
160 | torrent: # Magnet URI or torrent file (use classic TCP/UDP/WebSeed to download the file) | 213 | torrent: # Magnet URI or torrent file (use classic TCP/UDP/WebSeed to download the file) |
161 | enabled: false | 214 | enabled: false |
162 | 215 | ||
216 | auto_blacklist: | ||
217 | # New videos automatically blacklisted so moderators can review before publishing | ||
218 | videos: | ||
219 | of_users: | ||
220 | enabled: false | ||
221 | |||
163 | # Instance settings | 222 | # Instance settings |
164 | instance: | 223 | instance: |
165 | name: 'PeerTube' | 224 | name: 'PeerTube' |
@@ -167,6 +226,10 @@ instance: | |||
167 | description: '' # Support markdown | 226 | description: '' # Support markdown |
168 | terms: '' # Support markdown | 227 | terms: '' # Support markdown |
169 | default_client_route: '/videos/trending' | 228 | default_client_route: '/videos/trending' |
229 | # Whether or not the instance is dedicated to NSFW content | ||
230 | # Enabling it will allow other administrators to know that you are mainly federating sensitive content | ||
231 | # Moreover, the NSFW checkbox on video upload will be automatically checked by default | ||
232 | is_nsfw: false | ||
170 | # By default, "do_not_list" or "blur" or "display" NSFW videos | 233 | # By default, "do_not_list" or "blur" or "display" NSFW videos |
171 | # Could be overridden per user with a setting | 234 | # Could be overridden per user with a setting |
172 | default_nsfw_policy: 'do_not_list' | 235 | default_nsfw_policy: 'do_not_list' |
@@ -191,3 +254,10 @@ services: | |||
191 | # If false, we use an image link card that will redirect on your PeerTube instance | 254 | # If false, we use an image link card that will redirect on your PeerTube instance |
192 | # Test on https://cards-dev.twitter.com/validator to see if you are whitelisted | 255 | # Test on https://cards-dev.twitter.com/validator to see if you are whitelisted |
193 | whitelisted: false | 256 | whitelisted: false |
257 | |||
258 | followers: | ||
259 | instance: | ||
260 | # Allow or not other instances to follow yours | ||
261 | enabled: true | ||
262 | # Whether or not an administrator must manually validate a new follower | ||
263 | manual_approval: false | ||
diff --git a/config/test-1.yaml b/config/test-1.yaml index 8f4f66d2a..413390ecd 100644 --- a/config/test-1.yaml +++ b/config/test-1.yaml | |||
@@ -13,6 +13,7 @@ storage: | |||
13 | tmp: 'test1/tmp/' | 13 | tmp: 'test1/tmp/' |
14 | avatars: 'test1/avatars/' | 14 | avatars: 'test1/avatars/' |
15 | videos: 'test1/videos/' | 15 | videos: 'test1/videos/' |
16 | streaming_playlists: 'test1/streaming-playlists/' | ||
16 | redundancy: 'test1/redundancy/' | 17 | redundancy: 'test1/redundancy/' |
17 | logs: 'test1/logs/' | 18 | logs: 'test1/logs/' |
18 | previews: 'test1/previews/' | 19 | previews: 'test1/previews/' |
diff --git a/config/test-2.yaml b/config/test-2.yaml index b6d319394..a5515afa4 100644 --- a/config/test-2.yaml +++ b/config/test-2.yaml | |||
@@ -13,6 +13,7 @@ storage: | |||
13 | tmp: 'test2/tmp/' | 13 | tmp: 'test2/tmp/' |
14 | avatars: 'test2/avatars/' | 14 | avatars: 'test2/avatars/' |
15 | videos: 'test2/videos/' | 15 | videos: 'test2/videos/' |
16 | streaming_playlists: 'test2/streaming-playlists/' | ||
16 | redundancy: 'test2/redundancy/' | 17 | redundancy: 'test2/redundancy/' |
17 | logs: 'test2/logs/' | 18 | logs: 'test2/logs/' |
18 | previews: 'test2/previews/' | 19 | previews: 'test2/previews/' |
diff --git a/config/test-3.yaml b/config/test-3.yaml index 934401eb0..ef6780328 100644 --- a/config/test-3.yaml +++ b/config/test-3.yaml | |||
@@ -13,6 +13,7 @@ storage: | |||
13 | tmp: 'test3/tmp/' | 13 | tmp: 'test3/tmp/' |
14 | avatars: 'test3/avatars/' | 14 | avatars: 'test3/avatars/' |
15 | videos: 'test3/videos/' | 15 | videos: 'test3/videos/' |
16 | streaming_playlists: 'test3/streaming-playlists/' | ||
16 | redundancy: 'test3/redundancy/' | 17 | redundancy: 'test3/redundancy/' |
17 | logs: 'test3/logs/' | 18 | logs: 'test3/logs/' |
18 | previews: 'test3/previews/' | 19 | previews: 'test3/previews/' |
diff --git a/config/test-4.yaml b/config/test-4.yaml index ee99b250b..e84b2d118 100644 --- a/config/test-4.yaml +++ b/config/test-4.yaml | |||
@@ -13,6 +13,7 @@ storage: | |||
13 | tmp: 'test4/tmp/' | 13 | tmp: 'test4/tmp/' |
14 | avatars: 'test4/avatars/' | 14 | avatars: 'test4/avatars/' |
15 | videos: 'test4/videos/' | 15 | videos: 'test4/videos/' |
16 | streaming_playlists: 'test4/streaming-playlists/' | ||
16 | redundancy: 'test4/redundancy/' | 17 | redundancy: 'test4/redundancy/' |
17 | logs: 'test4/logs/' | 18 | logs: 'test4/logs/' |
18 | previews: 'test4/previews/' | 19 | previews: 'test4/previews/' |
diff --git a/config/test-5.yaml b/config/test-5.yaml index e2662bdd9..e25d4cfee 100644 --- a/config/test-5.yaml +++ b/config/test-5.yaml | |||
@@ -13,6 +13,7 @@ storage: | |||
13 | tmp: 'test5/tmp/' | 13 | tmp: 'test5/tmp/' |
14 | avatars: 'test5/avatars/' | 14 | avatars: 'test5/avatars/' |
15 | videos: 'test5/videos/' | 15 | videos: 'test5/videos/' |
16 | streaming_playlists: 'test5/streaming-playlists/' | ||
16 | redundancy: 'test5/redundancy/' | 17 | redundancy: 'test5/redundancy/' |
17 | logs: 'test5/logs/' | 18 | logs: 'test5/logs/' |
18 | previews: 'test5/previews/' | 19 | previews: 'test5/previews/' |
diff --git a/config/test-6.yaml b/config/test-6.yaml index ad39c6a9f..a020fe869 100644 --- a/config/test-6.yaml +++ b/config/test-6.yaml | |||
@@ -13,6 +13,7 @@ storage: | |||
13 | tmp: 'test6/tmp/' | 13 | tmp: 'test6/tmp/' |
14 | avatars: 'test6/avatars/' | 14 | avatars: 'test6/avatars/' |
15 | videos: 'test6/videos/' | 15 | videos: 'test6/videos/' |
16 | streaming_playlists: 'test6/streaming-playlists/' | ||
16 | redundancy: 'test6/redundancy/' | 17 | redundancy: 'test6/redundancy/' |
17 | logs: 'test6/logs/' | 18 | logs: 'test6/logs/' |
18 | previews: 'test6/previews/' | 19 | previews: 'test6/previews/' |
diff --git a/config/test.yaml b/config/test.yaml index aba5dd73c..682530840 100644 --- a/config/test.yaml +++ b/config/test.yaml | |||
@@ -62,6 +62,8 @@ transcoding: | |||
62 | 480p: true | 62 | 480p: true |
63 | 720p: true | 63 | 720p: true |
64 | 1080p: true | 64 | 1080p: true |
65 | hls: | ||
66 | enabled: true | ||
65 | 67 | ||
66 | import: | 68 | import: |
67 | videos: | 69 | videos: |