X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=README.md;h=c908d7bcb69213fab679db43aee5bce0969997d8;hb=ecb455b6c42bd75c9d87294c2479fa53b739d0a8;hp=9f6f8a816e2cb9bc4afcd7428e184b3f2068122e;hpb=28974889281523eec5b00dd5596c67d99c5167e5;p=github%2FChocobozzz%2FPeerTube.git diff --git a/README.md b/README.md index 9f6f8a816..c908d7bcb 100644 --- a/README.md +++ b/README.md @@ -49,8 +49,8 @@ Decentralized video streaming platform using P2P (BitTorrent) directly in the we

- - screenshot + + screenshot

@@ -58,8 +58,8 @@ Decentralized video streaming platform using P2P (BitTorrent) directly in the we Want to see in action? - * You can directly test in your browser with this [demo server](http://peertube.cpy.re). Don't forget to use the latest version of Firefox/Chromium/(Opera?) and check your firewall configuration (for WebRTC) - * You can find [a video](https://vimeo.com/164881662 "Yes Vimeo, please don't judge me") to see how the "decentralization feature" looks like + * [Demo server](http://peertube.cpy.re) + * [Video](https://vimeo.com/164881662 "Yes Vimeo, please don't judge me") to see how the "decentralization feature" looks like * Experimental demo servers that share videos (they are in the same network): [peertube2](http://peertube2.cpy.re), [peertube3](http://peertube3.cpy.re). Since I do experiments with them, sometimes they might not work correctly. ## Why @@ -93,22 +93,27 @@ Thanks to [WebTorrent](https://github.com/feross/webtorrent), we can make P2P (t - [X] Account rights (upload...) - [X] Make the network auto sufficient (eject bad pods etc) - [X] Validate the prototype (test PeerTube in a real world) -- [ ] Manage API breaks +- [ ] Manage inter pod API breaks - [ ] Add "DDOS" security (check if a pod don't send too many requests for example) - [X] Admin panel - [X] Stats - [X] Friends list - [X] Manage users (create/remove) - [X] OpenGraph tags -- [ ] User playlists -- [ ] User subscriptions (by tags, author...) -- [X] Signaling a video to the admin origin pod +- [X] Update video - [X] Videos view count - [X] Videos likes/dislikes - [ ] Videos comments? +- [X] User registration +- [ ] User playlists +- [ ] User subscriptions (by tags, author...) +- [X] Signaling a video to the admin origin pod + ## Installation +See [wiki](https://github.com/Chocobozzz/PeerTube/wiki) for complete installation commands. + ### Front compatibility * Chromium @@ -116,21 +121,22 @@ Thanks to [WebTorrent](https://github.com/feross/webtorrent), we can make P2P (t ### Dependencies - * **NodeJS >= 4.x** + * **NodeJS >= 6.x** * **npm >= 3.x** + * yarn * OpenSSL (cli) * PostgreSQL * FFmpeg #### Debian - * Install NodeJS 4.x (actual LTS): [https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions](https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions) + * Install NodeJS 6.x (actual LTS): [https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions](https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions) + * Install yarn: [https://yarnpkg.com/en/docs/install](https://yarnpkg.com/en/docs/install) * Add jessie backports to your *source.list*: http://backports.debian.org/Instructions/ * Run: # apt-get update # apt-get install ffmpeg postgresql-9.4 openssl - # npm install -g npm@3 #### Other distribution... (PR welcome) @@ -139,7 +145,7 @@ Thanks to [WebTorrent](https://github.com/feross/webtorrent), we can make P2P (t $ git clone -b master https://github.com/Chocobozzz/PeerTube $ cd PeerTube - $ npm install # Or npm install --unsafe-perm for root user + $ yarn install $ npm run build ## Usage @@ -160,8 +166,7 @@ The administrator password is automatically generated and can be found in the lo $ NODE_ENV=production npm run reset-password -- -u root -**Nginx template** (reverse proxy): https://github.com/Chocobozzz/PeerTube/tree/master/support/nginx - +**Nginx template** (reverse proxy): https://github.com/Chocobozzz/PeerTube/tree/master/support/nginx
**Systemd template**: https://github.com/Chocobozzz/PeerTube/tree/master/support/systemd You can check the application (CORS headers, tracker websocket...) by running: @@ -173,16 +178,28 @@ You can check the application (CORS headers, tracker websocket...) by running: The following commands will upgrade the source (according to your current branch), upgrade node modules and rebuild client application: # systemctl stop peertube - $ npm run upgrade + $ npm run upgrade-peertube # systemctl start peertube ### Development -In this mode, the server will run requests between pods more quickly, the videos duration are limited to a few seconds and the client files are automatically compiled when we modify them: +In this mode, the server will run requests between pods more quickly, the videos duration are limited to a few seconds. + +To develop on the server side (server files are automatically compiled when we modify them and the server restarts automatically too): + + $ npm run dev:server + +The server (with the client) will listen on `localhost:9000`. + + +To develop on the client side (client files are automatically compiled when we modify them): + + $ npm run dev:client - $ npm run dev +The API will listen on `localhost:9000` and the frontend on `localhost:3000` (with hot module replacement, you don't need to refresh the web browser). -The administrator password is displayed in the command output and can be found in the logs. +**Username**: *root*
+**Password**: *test* ### Test with 3 fresh nodes @@ -234,19 +251,19 @@ Here are some simple schemes:

-Decentralized +Decentralized -Watch a video +Watch a video -Watch a P2P video +Watch a P2P video -Join a network +Join a network -Many networks +Many networks

### Frontend -There already is a frontend (Angular 2) but the backend is a REST API so anybody can build a frontend (Web application, desktop application...). +There already is a frontend (Angular) but the backend is a REST API so anybody can build a frontend (Web application, desktop application...). The backend uses BitTorrent protocol, so users could use their favorite BitTorrent client to download/play the video with its torrent URI.