aboutsummaryrefslogtreecommitdiffhomepage
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/default.yaml71
-rw-r--r--config/production.yaml.example70
-rw-r--r--config/test-1.yaml1
-rw-r--r--config/test-2.yaml1
-rw-r--r--config/test-3.yaml1
-rw-r--r--config/test-4.yaml1
-rw-r--r--config/test-5.yaml1
-rw-r--r--config/test-6.yaml1
-rw-r--r--config/test.yaml2
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
12rates_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
109csp:
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
114tracker:
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
124history:
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
131views:
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
98cache: 141cache:
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
142import: 194import:
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
202auto_blacklist:
203 # New videos automatically blacklisted so moderators can review before publishing
204 videos:
205 of_users:
206 enabled: false
207
150instance: 208instance:
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
170services: 232services:
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
241followers:
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
11rates_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
110csp:
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
115tracker:
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
125history:
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
132views:
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
155import: 208import:
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
216auto_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
164instance: 223instance:
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
258followers:
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
66import: 68import:
67 videos: 69 videos: