sepia-search-motore-di-rice.../README.md

1.6 KiB

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