+
+## Usage
+
+### Production
+
+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 <br />
+**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
+
+### Upgrade
+
+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
+
+### Development
+
+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
+
+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* <br/>
+**Password**: *test*