Mirror of upstream PeerTube repository.
Chocobozzz 0405ab52dc Set port if not specified in webfinger | 6 роки тому | |
---|---|---|
.github | 7 роки тому | |
client | 6 роки тому | |
config | 6 роки тому | |
scripts | 6 роки тому | |
server | 6 роки тому | |
shared | 6 роки тому | |
support | 6 роки тому | |
.codeclimate.yml | 6 роки тому | |
.gitignore | 7 роки тому | |
.travis.yml | 6 роки тому | |
ARCHITECTURE.md | 6 роки тому | |
CREDITS.md | 6 роки тому | |
FAQ.md | 6 роки тому | |
LICENSE | 7 роки тому | |
README.md | 6 роки тому | |
package.json | 6 роки тому | |
server.ts | 6 роки тому | |
tsconfig.json | 6 роки тому | |
tslint.json | 7 роки тому | |
yarn.lock | 6 роки тому |
PeerTube is sponsored by Framasoft, a non-profit that promotes, spreads and develops free-libre software. If you want to support this project, please consider donating them.
Want to see in action?
We can't build a FOSS video streaming alternatives to YouTube, Dailymotion, Vimeo... with a centralized software. One organization alone cannot have enough money to pay bandwidth and video storage of its server.
So we need to have a decentralized network (as Diaspora for example). But it's not enough because one video could become famous and overload the server. It's the reason why we need to use a P2P protocol to limit the server load. Thanks to WebTorrent, we can make P2P (thus bittorrent) inside the web browser right now.
See wiki for complete installation commands.
Run:
$ apt-get update $ apt-get install ffmpeg postgresql openssl
Run:
$ apt-get update $ apt-get install ffmpeg postgresql openssl
$ git clone -b master https://github.com/Chocobozzz/PeerTube
$ cd PeerTube
$ yarn install
$ npm run build
If you want to run PeerTube for production (bad idea for now :) ):
$ cp config/production.yaml.example config/production.yaml
Then edit the config/production.yaml
file according to your webserver configuration. Keys set in this file will override those of config/default.yml
.
Finally, run the server with the production
NODE_ENV
variable set.
$ NODE_ENV=production npm start
The administrator password is automatically generated and can be found in the logs. You can set another password with:
$ NODE_ENV=production npm run reset-password -- -u root
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:
$ NODE_ENV=production npm run check
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-peertube
# systemctl start peertube
In this mode, the server will run requests between instances more quickly, the video durations 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
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).
Username: root
Password: test
$ npm run clean:server:test
$ npm run play
Then you will get access to the three nodes at http://localhost:900{1,2,3}
with the root
as username and test{1,2,3}
for the password.
To print all available command run:
$ npm run help
See the contributing guide.
See the server code documentation.
See the client code documentation.
See ARCHITECTURE.md for a more detailed explication.
Here are some simple schemes: