https://github.com/plebbit/plebbit-ipni
https://github.com/plebbit/plebbit-ipni
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/plebbit/plebbit-ipni
- Owner: plebbit
- Created: 2024-09-07T22:01:09.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-07T21:11:03.000Z (over 1 year ago)
- Last Synced: 2025-02-24T03:42:49.290Z (over 1 year ago)
- Language: Go
- Size: 62.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#### introduction
It is required to run `index-provider`, `storetheindex`, `indexstar` and `proxy-server`
- `index-provider` is required to PUT/announce from kubo to `index-provider`
- `storetheindex` is required to sync with `index-provider` and serve a `/cid/{cid}` endpoint (like https://cid.contact/cid/{cid})
- `indexstar` is required to translate `/cid/{cid}` into `/routing/v1/providers/{cid}` (like https://specs.ipfs.tech/routing/http-routing-v1/)
- `proxy-server` is required to forward `GET /routing/v1/providers/{cid}` to `indexstar` and `PUT /routing/v1/providers` to `index-provider`
#### getting started with docker
```
git clone https://github.com/plebbit/plebbit-ipni.git && cd plebbit-ipni
# init config
sudo apt install jq
scripts/init-config.sh
# close ports because we're docker in network host mode
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow http
sudo ufw --force enable
# install docker and docker-compose
sudo apt install docker.io
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose up
```
#### getting started without docker
```
git clone https://github.com/plebbit/plebbit-ipni.git && cd plebbit-ipni
# install node.js
sudo apt install nodejs npm && sudo npm install -g n && sudo n latest
npm install
# init config
sudo apt install jq
scripts/init-config.sh
# close all ports
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow 9100/tcp # prometheus node exporter
sudo ufw --force enable
# launch all required services with nohup so they keep running forever
PROVIDER_PATH=.index-provider nohup bin/index-provider daemon &
STORETHEINDEX_PATH=.storetheindex nohup bin/storetheindex daemon &
INDEXSTAR_PATH=.indexstar nohup bin/indexstar --listen :7777 --backends http://127.0.0.1:3000 --providersBackends http://no &
nohup node ./proxy-server.js &
```