1
0
mirror of https://framagit.org/framasoft/peertube/search-index/ synced 2024-12-12 09:06:08 +01:00
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
Go to file
2023-02-09 08:50:33 +01:00
client Update translations 2023-02-09 08:50:33 +01:00
config Refactor and redesign client 2022-12-20 14:59:51 +01:00
server Optimize fetching config 2022-12-28 10:58:51 +01:00
shared Add ability to customize instance 2020-09-18 16:29:32 +02:00
support Add nginx template 2020-08-13 08:05:59 +02:00
themes/framasoft Refactor and redesign client 2022-12-20 14:59:51 +01:00
.eslintrc.json Refactor and redesign client 2022-12-20 14:59:51 +01:00
.gitignore First commit 2020-02-13 11:49:03 +01:00
LICENSE First commit 2020-02-13 11:49:03 +01:00
package.json Use @peertube/peertube-types 2022-12-20 15:18:43 +01:00
README.md Remove peertube submodule 2022-12-20 15:21:44 +01:00
server.ts Fix error not logged 2023-02-08 09:50:20 +01:00
tsconfig.json Use @peertube/peertube-types 2022-12-20 15:18:43 +01:00
yarn.lock Use @peertube/peertube-types 2022-12-20 15:18:43 +01:00

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/gettext.config.js and run npm run i18n:update.

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
$ 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.