]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - support/doc/tools.md
Add CLI plugins tests
[github/Chocobozzz/PeerTube.git] / support / doc / tools.md
index 086cd5cff0ffa8c221c8392947c237f788c9dd0a..f0d3b15b24144ba30ba56517697434268b1d79e9 100644 (file)
@@ -35,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
 
@@ -44,18 +45,14 @@ 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
@@ -78,6 +75,7 @@ You can access it as `peertube` via an alias in your `.bashrc` like `alias peert
     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]
 ```
 
@@ -105,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.  
@@ -236,6 +243,30 @@ 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.