allow limiting video-comments rss feeds to an account or video channel
[oweals/peertube.git] / README.md
index cf64415d6d559ec28d60b833c8da64cf07140ffd..0f288fa3ffba69fc12cd8076449a43f26460a7a1 100644 (file)
--- a/README.md
+++ b/README.md
@@ -9,11 +9,33 @@
   | <strong><a href="https://instances.joinpeertube.org">Join an instance</a></strong>
   | <strong><a href="#package-create-your-own-instance">Create an instance</a></strong>
   | <strong><a href="#contact">Chat with us</a></strong>
+  | <strong><a href="https://framasoft.org/en/#soutenir">Donate</a></strong>
 </p>
 
 <p align="center">
-Federated (ActivityPub) video streaming platform using P2P (BitTorrent)
-directly in the web browser with <a href="https://github.com/feross/webtorrent">WebTorrent</a>.
+Be part of a network of multiple small federated, interoperable video hosting providers. Follow video creators and create videos. No vendor lock-in. All on a platform that is community-owned and ad-free.
+</p>
+
+<p align="center">
+:rocket::rocket::rocket:
+</p>
+
+<p align="center">
+<strong>Check, share and support PeerTube's v3 roadmap on https://joinpeertube.org/roadmap</strong>
+</p>
+
+<p align="center">
+:rocket: :rocket: :rocket:
+</p>
+
+<p align="center">
+  <strong>Developed with &#10084; by <a href="https://framasoft.org">Framasoft</a></strong>
+</p>
+
+<p align="center">
+  <a href="https://framasoft.org">
+    <img width="150px" src="https://lutim.cpy.re/FeRgHH8r.png" alt="Framasoft logo"/>
+  </a>
 </p>
 
 <p align="center">
@@ -24,9 +46,9 @@ directly in the web browser with <a href="https://github.com/feross/webtorrent">
   <a href="https://david-dm.org/Chocobozzz/PeerTube?path=client&type=dev">
     <img src="https://david-dm.org/Chocobozzz/PeerTube/dev-status.svg?path=client" alt="devDependency Status" />
   </a>
-  
-  <a href="https://www.browserstack.com/automate/public-build/cWJhRDFJbS9qeUhzYW04MnlIVjlQQ0x3aE5POXBaV1lycGo5VlQxK3JqZz0tLTNUWW5ySEVvS1N4UnBhYlhsdXVCeVE9PQ==--db09e291d36a582af8b2929d62a625ed660cdf1d">
-    <img src='https://www.browserstack.com/automate/badge.svg?badge_key=cWJhRDFJbS9qeUhzYW04MnlIVjlQQ0x3aE5POXBaV1lycGo5VlQxK3JqZz0tLTNUWW5ySEVvS1N4UnBhYlhsdXVCeVE9PQ==--db09e291d36a582af8b2929d62a625ed660cdf1d'/>
+
+  <a href="https://automate.browserstack.com/public-build/T2g0SVQyMTJtYVRWaEZQTE9LdU9UU1ZDSkY5dTJ6dGlNRUVIajd4QlIwST0tLVdTQ1NUZ0pUTzRZT3lyZzkvWGNSZ1E9PQ==--278d3c68ae0827ce57e245e9f5a3b8c35d6e2278%">
+    <img src="https://automate.browserstack.com/badge.svg?badge_key=T2g0SVQyMTJtYVRWaEZQTE9LdU9UU1ZDSkY5dTJ6dGlNRUVIajd4QlIwST0tLVdTQ1NUZ0pUTzRZT3lyZzkvWGNSZ1E9PQ==--278d3c68ae0827ce57e245e9f5a3b8c35d6e2278%"/>
   </a>
 </p>
 
@@ -35,8 +57,8 @@ directly in the web browser with <a href="https://github.com/feross/webtorrent">
 
   <br />
 
-  <a href="https://travis-ci.org/Chocobozzz/PeerTube">
-    <img src="https://travis-ci.org/Chocobozzz/PeerTube.svg?branch=develop" alt="Build Status" />
+  <a href="https://travis-ci.com/github/Chocobozzz/PeerTube">
+    <img alt="pipeline status" src="https://travis-ci.com/Chocobozzz/PeerTube.svg?branch=develop" />
   </a>
 
   <a href="https://david-dm.org/Chocobozzz/PeerTube">
@@ -56,10 +78,29 @@ directly in the web browser with <a href="https://github.com/feross/webtorrent">
 
 <p align="center">
   <a href="https://framatube.org/videos/watch/217eefeb-883d-45be-b7fc-a788ad8507d3">
-    <img src="https://lutim.cpy.re/8cZDRIEF.png" alt="screenshot" />
+    <img src="http://lutim.cpy.re/9CLXh0Ys.png" alt="screenshot" />
   </a>
 </p>
 
+Introduction
+----------------------------------------------------------------
+
+PeerTube is a free, decentralized and federated video platform developed as an alternative to other platforms that centralize our data and attention, such as YouTube, Dailymotion or Vimeo. :clapper:
+
+But one organization hosting PeerTube alone may not have enough money to pay for bandwidth and video storage of its servers,
+all servers of PeerTube are interoperable as a federated network, and non-PeerTube servers can be part of the larger Vidiverse
+(federated video network) by talking our implementation of ActivityPub.
+Video load is reduced thanks to P2P in the web browser using <a href="https://github.com/webtorrent/webtorrent">WebTorrent</a> or <a href="https://github.com/novage/p2p-media-loader">p2p-media-loader</a>.
+
+To learn more, see:
+* This [two-minute video](https://framatube.org/videos/watch/217eefeb-883d-45be-b7fc-a788ad8507d3) (hosted on PeerTube) explaining what PeerTube is and how it works
+* PeerTube's project homepage, [joinpeertube.org](https://joinpeertube.org)
+* Demonstration instances:
+  * [peertube.cpy.re](https://peertube.cpy.re)
+  * [peertube2.cpy.re](https://peertube2.cpy.re)
+  * [peertube3.cpy.re](https://peertube3.cpy.re)
+* This [video](https://peertube.cpy.re/videos/watch/da2b08d4-a242-4170-b32a-4ec8cbdca701) demonstrating the communication between PeerTube and [Mastodon](https://github.com/tootsuite/mastodon) (a decentralized Twitter alternative)
+
 :sparkles: Features
 ----------------------------------------------------------------
 
@@ -75,7 +116,7 @@ Just upload your videos, and be sure they will stream anywhere. Add a descriptio
 
 <h3 align="right">Keep in touch with video creators</h3>
 <p align="right">
-Follow your favorite channels from PeerTube or really any other place. No need to have an account on the instance you watched a video to follow its author, you can do all of that from the Fediverse (Mastodon, Pleroma and plenty others), or just with good ol' RSS.
+Follow your favorite channels from PeerTube or really any other place. No need to have an account on the instance you watched a video to follow its author, you can do all of that from the Fediverse (Mastodon, Pleroma, and plenty others), or just with good ol' RSS.
 </p>
 
 ---
@@ -91,35 +132,29 @@ Be it as a user or an instance administrator, you can decide what your experienc
 
 <h3 align="right">Communities that help each other</h3>
 <p align="right">
-In addition to visitors using WebTorrent to share the load among them, instances can help each other by caching one another's videos. This way even small instances have a way to show content to a wider audience, as they will be shouldered by friend instances (more about that in our <a href="/support/doc/redundancy.md">redundancy guide</a>).
+In addition to visitors using WebTorrent to share the load among them, instances can help each other by caching one another's videos. This way even small instances have a way to show content to a wider audience, as they will be shouldered by friend instances (more about that in our <a href="https://docs.joinpeertube.org/#/contribute-architecture?id=redundancy-between-instances">redundancy guide</a>).
 </p>
 <p align="right">
-Content creators can get help from their viewers in the simplest way possible: a support button showing a message linking to their donation accounts or really anything else. No more pay-per-view and advertisements that hurt visitors and <strike>incentivize</strike> alter creativity (more about that in our <a href="./FAQ.md">FAQ</a>).
+Content creators can get help from their viewers in the simplest way possible: a support button showing a message linking to their donation accounts or really anything else. No more pay-per-view and advertisements that hurt visitors and <strike>incentivize</strike> alter creativity (more about that in our <a href="https://github.com/Chocobozzz/PeerTube/blob/develop/FAQ.md">FAQ</a>).
 </p>
 
----
+:raised_hands: Contributing
+----------------------------------------------------------------
 
-Want to see it in action?
+You don't need to be a coder to help!
 
-   * Demonstration servers:
-     * [peertube.cpy.re](https://peertube.cpy.re)
-     * [peertube2.cpy.re](https://peertube2.cpy.re)
-     * [peertube3.cpy.re](https://peertube3.cpy.re)
-   * [Video](https://framatube.org/videos/watch/217eefeb-883d-45be-b7fc-a788ad8507d3) explaining what PeerTube is
-   * [Video](https://peertube.cpy.re/videos/watch/da2b08d4-a242-4170-b32a-4ec8cbdca701) showing the communication between PeerTube and [Mastodon](https://github.com/tootsuite/mastodon)
+You can give us your feedback, report bugs, help us translate PeerTube, write documentation, and more. Check out the [contributing
+guide](https://github.com/Chocobozzz/PeerTube/blob/develop/.github/CONTRIBUTING.md) to know how, it takes less than 2 minutes to get started. :wink:
 
-:question: Motivation
-----------------------------------------------------------------
+You can also join the cheerful bunch that makes our community:
 
-We can't build a FOSS video streaming alternative to YouTube, Dailymotion,
-Vimeo... with centralized software. One organization alone may not have
-enough money to pay for bandwidth and video storage of its servers.
+* Chat<a name="contact"></a>:
+  * IRC : **[#peertube on chat.freenode.net:6697](https://kiwiirc.com/client/irc.freenode.net/#peertube)**
+  * Matrix (bridged on IRC and [Discord](https://discord.gg/wj8DDUT)) : **[#peertube:matrix.org](https://matrix.to/#/#peertube:matrix.org)**
+* Forum:
+  * Framacolibri: [https://framacolibri.org/c/peertube](https://framacolibri.org/c/peertube)
 
-So we need to have a decentralized network of servers seeding videos (as
-[Diaspora](https://github.com/diaspora/diaspora) for example).  But it's not
-enough because one video could become popular and overload the server.  That is 
-why we need to use a P2P protocol to limit the server load.  Thanks to
-[WebTorrent](https://github.com/feross/webtorrent), we can make BitTorrent inside the web browser, as of today.
+Feel free to reach out if you have any questions or ideas! :speech_balloon:
 
 :package: Create your own instance
 ----------------------------------------------------------------
@@ -129,81 +164,42 @@ why we need to use a P2P protocol to limit the server load.  Thanks to
   * nginx
   * **PostgreSQL >= 9.6**
   * **Redis >= 2.8.18**
-  * **NodeJS >= 8.x**
+  * **NodeJS >= 10.x**
   * **yarn >= 1.x**
   * **FFmpeg >= 3.x**
 
-See the [production guide](/support/doc/production.md), which is the recommended way.
-
-See the [community packages](https://docs.joinpeertube.org/lang/en/docs/install.html), which cover various platforms (including [YunoHost](https://install-app.yunohost.org/?app=peertube) and [Docker](/support/doc/docker.md)).
-
-:wrench: Contribute/Translate/Test
-----------------------------------------------------------------
-
-*Spoiler alert*: you don't need to be a coder to help!
-
-See the [contributing
-guide](/.github/CONTRIBUTING.md). Or simply join the cheerful bunch that makes our community:
+See the [production guide](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md), which is the recommended way to install or upgrade PeerTube. For hardware requirements, see [Should I have a big server to run PeerTube?](https://github.com/Chocobozzz/PeerTube/blob/develop/FAQ.md#should-i-have-a-big-server-to-run-peertube) in the FAQ.
 
-  * Chat<a name="contact"></a>:
-    * IRC : **[#peertube on chat.freenode.net:6697](https://kiwiirc.com/client/irc.freenode.net/#peertube)**
-    * Matrix (bridged on the IRC channel) : **[#peertube:matrix.org](https://matrix.to/#/#peertube:matrix.org)**
-  * Forum:
-    * Framacolibri: [https://framacolibri.org/c/peertube](https://framacolibri.org/c/peertube)
+See the [community packages](https://docs.joinpeertube.org/#/install-unofficial), which cover various platforms (including [YunoHost](https://install-app.yunohost.org/?app=peertube) and [Docker](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/docker.md)).
 
 :book: Documentation
 ----------------------------------------------------------------
 
-If you have a question, please try to find the answer in the [FAQ](/FAQ.md) first.
+If you have a question, please try to find the answer in the [FAQ](https://github.com/Chocobozzz/PeerTube/blob/develop/FAQ.md) first.
 
 ### User documentation
 
-See the [user documentation](https://docs.joinpeertube.org/lang/en/userdocs/).
+See the [user documentation](https://docs.joinpeertube.org/#/use-setup-account).
 
 ### Admin documentation
 
-See [how to create your own instance](#package-create-your-own-instance).
+See [how to create your own instance](https://github.com/Chocobozzz/PeerTube/blob/develop/README.md#package-create-your-own-instance).
 
-See the more general [admin documentation](https://docs.joinpeertube.org/lang/en/docs/).
+See the more general [admin documentation](https://docs.joinpeertube.org/#/admin-following-instances).
 
-#### Tools
+### Tools documentation
 
- * [Import videos (YouTube, Dailymotion, Vimeo...)](/support/doc/tools.md)
- * [Upload videos from the CLI](/support/doc/tools.md)
- * [Admin server tools (create transcoding jobs, prune storage...)](/support/doc/tools.md#server-tools)
+Learn how to import/upload videos from CLI or admin your PeerTube instance with the [tools documentation](https://docs.joinpeertube.org/#/maintain-tools).
 
 ### Technical documentation
 
-See [ARCHITECTURE.md](/ARCHITECTURE.md) for a more detailed explanation of the architectural choices.
+See the [architecture blueprint](https://docs.joinpeertube.org/#/contribute-architecture) for a more detailed explanation of the architectural choices.
 
-#### Backend
-
-  * REST API:
-    * Quick Start: [/support/doc/api/quickstart.md](/support/doc/api/quickstart.md)
-    * Swagger/OpenAPI schema: [/support/doc/api/openapi.yaml](/support/doc/api/openapi.yaml)
-    * HTML explorer: [/support/doc/api/html/index.html](https://htmlpreview.github.io/?https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/api/html/index.html)
-  * Servers communicate with each other with [Activity
-    Pub](https://www.w3.org/TR/activitypub/).
-  * Each server has its own users who query it (search videos, query where the
-    torrent URI of this specific video is...).
-  * When a user uploads a video, the server sends its followers metadata about the video (name, short description, torrent URI...).
-  * A server is a tracker responsible for all the videos uploaded on it.
-  * Even if nobody watches a video, it is seeded by the server (through
-    [WebSeed protocol](http://www.bittorrent.org/beps/bep_0019.html)) where the
-    video was uploaded.
-
-Here are some simple schemes:
-
-<p align="center">
-
-<img src="support/doc/user/decentralized.png" alt="Decentralized" />
-
-<img src="support/doc/user/watch-video.png" alt="Watch a video" />
-
-<img src="support/doc/user/watch-p2p.png" alt="Watch a P2P video" />
-
-</p>
+See our REST API documentation:
+  * OpenAPI 3.0.0 schema: [/support/doc/api/openapi.yaml](https://github.com/Chocobozzz/PeerTube/blob/support/doc/api/openapi.yaml)
+  * Spec explorer: [docs.joinpeertube.org/api-rest-reference.html](https://docs.joinpeertube.org/api-rest-reference.html)
 
+See our [ActivityPub documentation](https://docs.joinpeertube.org/#/api-activitypub).
 
 :heart: Supports of our crowdfunding
 ----------------------------------------------------------------
@@ -215,11 +211,11 @@ Quonfucius, IP Solution, \_Laure\_, @lex666, 0x010C, 3dsman, 3rw4n-G3D, aallrd,
 
 ## License
 
-Copyright (C) 2018 PeerTube Contributors
+Copyright (C) 2015-2020 PeerTube Contributors
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as published
-by the Free Software Foundation, either version 3 of the License, or 
+by the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 
 This program is distributed in the hope that it will be useful,