Motore di ricerca video globale per istanze Peertube. Cercando una parola chiave, il servizio restituisce tutti i video dalle istanze peertube federate. E' possibile applicare un ordinare per data, durata o per lingua
https://sepiasearch.peertube.uno
2dc7f8ae12 | ||
---|---|---|
PeerTube@28216aa41a | ||
client | ||
config | ||
server | ||
shared | ||
support | ||
themes/framasoft | ||
.eslintrc.json | ||
.gitignore | ||
.gitmodules | ||
LICENSE | ||
README.md | ||
package.json | ||
server.ts | ||
tsconfig.json | ||
yarn.lock |
README.md
Application behind search.joinpeertube.org
Dev
$ git submodule update --init --recursive
$ yarn install --pure-lockfile
The database (Elastic Search) is automatically created by PeerTube at startup.
Run simultaneously (for example with 3 terminals):
$ tsc -w
$ node dist/server
$ cd client && npm run dev
Then open http://localhost:8080.
Add locale
Add the locale in client/src/main.ts
and client/Makefile
. Then update translations.
Production
Install dependencies:
- NodeJS (v16)
- Elastic Search
$ git clone https://framagit.org/framasoft/peertube/search-index.git /var/www/peertube-search-index
$ cd /var/www/peertube-search-index
$ git submodule update --init --recursive
$ yarn install --pure-lockfile
$ npm run build
$ cp config/default.yaml config/production.yaml
$ vim config/production.yaml
$ NODE_ENV=production NODE_CONFIG_DIR=/var/www/peertube-search-index/config node dist/server.js
Mapping migration
To update Elastic Search index mappings without downtime, run another instance of the search indexer
using the same configuration that the main node. You just have to update elastic-search.indexes.*
to use new index names.
$ cd /var/www/peertube-search-index
$ cp config/production.yaml config/production-1.yaml
$ vim config/production-1.yaml
$ NODE_ENV=production NODE_APP_INSTANCE=1 NODE_CONFIG_DIR=/var/www/peertube-search-index/config node dist/server.js
After a while the new indexes will be filled. You can then stop the second indexer, update config/production.yaml
to use
the new index names and restart the main index.