Add note in FAQ for server hardware
[oweals/peertube.git] / FAQ.md
1 # FAQ
2
3 ## If nobody watches a video, is it seeded?
4
5 Yes, the origin server always seeds videos uploaded on it thanks to
6 [Webseed](http://www.bittorrent.org/beps/bep_0019.html).
7
8
9 ## What is WebSeed?
10
11 It is a BitTorrent extension that allows a server to seed a file through HTTP.
12 It just needs to statically serve a file, then the clients will request chunks
13 with a `Content-Range` HTTP header.
14
15
16 ## If a client requests each chunk of a video through HTTP, will the server be overloaded?
17
18 Not really. Reverse proxies like Nginx handle very well requests of static
19 files. In my tests, it can send chunks at 10MB/s without consuming more than 5%
20 of CPU on a very small VPS.
21
22
23 ## Will an index of all the videos of servers you follow be too large for small servers?
24
25 In our benchmarks, 1,000,000 videos takes around 2GB of storage on PostgreSQL.
26 We think it is acceptable for a video platform.
27
28
29 ## What codecs can I use for the videos I want to upload?
30
31 WEBM, MP4 or OGV videos.
32
33
34 ## I want to change my host, how can I do that?
35
36 If you already have followers, you can't.
37
38 If you don't have any followers, update your configuration and run
39 `NODE_ENV=production npm run update-host` to update the torrent files (they contain your domain name).
40
41
42 ## Should I have a big server to run PeerTube?
43
44 Not really. For instance, the demonstration server [https://peertube.cpy.re](https://peertube.cpy.re) has 2 vCore and 2GB of RAM and consumes on average:
45  * **CPU** -> nginx ~ 20%, peertube ~ 10%,   postgres ~ 1%, redis ~ 3%
46  * **RAM** -> nginx ~ 6MB, peertube ~ 120MB, postgres ~ 10MB, redis ~ 5MB
47  
48 So you would need:
49  * **CPU** 1 core if you don't enable transcoding, 2 at least if you enable it
50  * **RAM** 1GB
51  * **Storage** Completely depends on how many videos your users will upload
52