X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=support%2Fdoc%2Ftools.md;h=f0d3b15b24144ba30ba56517697434268b1d79e9;hb=9b474844e85cce916370693cc24f53339a695570;hp=69d68464a4f67fe1256cd7d15b4b3020870e0763;hpb=5b036b8ef2f15c30afe6cddfe9bcfc5816b08bba;p=github%2FChocobozzz%2FPeerTube.git diff --git a/support/doc/tools.md b/support/doc/tools.md index 69d68464a..f0d3b15b2 100644 --- a/support/doc/tools.md +++ b/support/doc/tools.md @@ -18,6 +18,7 @@ - [prune-storage.js](#prune-storagejs) - [optimize-old-videos.js](#optimize-old-videosjs) - [update-host.js](#update-hostjs) + - [reset-password.js](#reset-passwordjs) - [REPL (Read Eval Print Loop)](#repl-read-eval-print-loop) - [.help](#help) - [Lodash example](#lodash-example) @@ -34,7 +35,8 @@ You need to follow all the following steps even if you are on a PeerTube server ### Dependencies -Install the [PeerTube dependencies](dependencies.md). +Install the [PeerTube dependencies](dependencies.md) except PostgreSQL and Redis. +PeerTube only supports NodeJS 8.x or 10.x. ### Installation @@ -43,23 +45,20 @@ Clone the PeerTube repo to get the latest version (even if you are on your PeerT ``` $ git clone https://github.com/Chocobozzz/PeerTube.git $ CLONE="$(pwd)/PeerTube" -``` - -Run ``yarn install --pure-lockfile`` -``` $ cd ${CLONE} -$ yarn install --pure-lockfile ``` -Build server tools: +Install dependencies and build CLI tools: + ``` -$ cd ${CLONE} -$ npm run build:server +$ NOCLIENT=1 yarn install --pure-lockfile +$ npm run setup:cli ``` ### CLI wrapper -The wrapper provides a convenient interface to the following scripts. You can access it as `peertube` via an alias in your `.bashrc` like `alias peertube="node /your/peertube/directory/dist/server/tools/peertube.js"`: +The wrapper provides a convenient interface to the following scripts. +You can access it as `peertube` via an alias in your `.bashrc` like `alias peertube="cd /your/peertube/directory/ && node ./dist/server/tools/peertube.js"` (you have to keep the `cd` command): ``` Usage: peertube [command] [options] @@ -76,6 +75,7 @@ The wrapper provides a convenient interface to the following scripts. You can ac import-videos|import import a video from a streaming platform watch|w watch a video in the terminal ✩°。⋆ repl initiate a REPL to access internals + plugins|p [action] manag instance plugins help [cmd] display help for [cmd] ``` @@ -103,6 +103,15 @@ And now that your video is online, you can watch it from the confort of your ter $ peertube watch https://peertube.cpy.re/videos/watch/e8a1af4e-414a-4d58-bfe6-2146eed06d10 ``` +To list, install, uninstall dynamically plugins/themes of an instance: + +```bash +$ peertube plugins list +$ peertube plugins install --path /local/plugin/path +$ peertube plugins install --npm-name peertube-plugin-myplugin +$ peertube plugins uninstall --npm-name peertube-plugin-myplugin +``` + #### peertube-import-videos.js You can use this script to import videos from all [supported sites of youtube-dl](https://rg3.github.io/youtube-dl/supportedsites.html) into PeerTube. @@ -118,7 +127,7 @@ $ node dist/server/tools/peertube-import-videos.js \ * `PEERTUBE_URL` : the full URL of your PeerTube server where you want to import, eg: https://peertube.cpy.re * `PEERTUBE_USER` : your PeerTube account where videos will be uploaded -* `PEERTUBE_PASSWORD` : password of your PeerTube account (if `PEERTUBE_PASSWORD` is omitted, you will be prompted for it) +* `PEERTUBE_PASSWORD` : password of your PeerTube account (if `--password PEERTUBE_PASSWORD` is omitted, you will be prompted for it) * `TARGET_URL` : the target url you want to import. Examples: * YouTube: * Channel: https://www.youtube.com/channel/ChannelId @@ -198,10 +207,10 @@ $ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production ### prune-storage.js Some transcoded videos or shutdown at a bad time can leave some unused files on your storage. -To delete them (a confirmation will be demanded first): +Stop PeerTube and delete these files (a confirmation will be demanded first): ``` -$ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run prune-storage +$ sudo systemctl stop peertube && sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run prune-storage ``` ### optimize-old-videos.js @@ -226,6 +235,38 @@ to run: $ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run update-host ``` +### reset-password.js + +To reset a user password from CLI, run: + +``` +$ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run reset-password -- -u target_username +``` + + +### plugin install/uninstall + +The difference with `peertube plugins` CLI is that these scripts can be used even if PeerTube is not running. +If PeerTube is running, you need to restart it for the changes to take effect (whereas with `peertube plugins` CLI, plugins/themes are dynamically loaded on the server). + +To install a plugin or a theme from the disk: + +``` +$ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run npm run plugin:install -- --plugin-path /local/plugin/path +``` + +From NPM: + +``` +$ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run npm run plugin:install -- --npm-name peertube-plugin-myplugin +``` + +To uninstall a plugin or a theme: + +``` +$ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run npm run plugin:uninstall -- --npm-name peertube-plugin-myplugin +``` + ### REPL ([Read Eval Print Loop](https://nodejs.org/docs/latest-v8.x/api/repl.html)) If you want to interact with the application libraries and objects even when PeerTube is not running, there is a REPL for that.