nyats-server
v0.2.0
Published
nyats (Not Yet Another Thumbnail Service) client-side caching IPFS thumbnailing server. Generates thumbnails for IPFS CID's, writes thumbnails to IPFS, adds them to MFS, publishes IPNS hash and returns redirect to thumbnail in MFS, allowing for efficient
Downloads
51
Maintainers
Readme
nyats-server
nyats (Not Yet Another Thumbnail Service) client-side caching IPFS thumbnailing server. Generates thumbnails for IPFS CID's, writes thumbnails to IPFS, adds them to MFS, publishes IPNS hash and returns redirect to thumbnail in MFS, allowing for efficient client-side caching.
Client library
For usage in JS/TS, there's nyats-client, the official client library.
Dependencies
You need a local ipfs node; see: https://docs.ipfs.io/how-to/command-line-quick-start/
Usage
- Install dependencies:
npm install
- Start local IPFS node:
ipfs daemon
npm start
Or, to use the local gateway:IPFS_GATEWAY=http://127.0.0.1:8080 npm start
- Open
http://localhost:9614/thumbnail/<protocol>/<cid>/<width>/<height>
, and behold. Example: http://localhost:9614/thumbnail/ipfs/QmcRD4wkPPi6dig81r5sLj9Zm1gDCL4zgpEj9CfuRrGbzF/200/200
Development
For development, we recommend using npm run start:watch
, which will watch the code and automatically rebuild and restart the server (using nodemon and ts-node).
Example with debugging, a single process and local IPFS gateway:
$ DEBUG=nyats* NYATS_PROCESSES=1 IPFS_GATEWAY=http://127.0.0.1:8080 npm run start:watch
Configuration
The main configuration options are the following, the rest can be found in src/config.ts
:
NYATS_SERVER_HOST
(default:localhost
)NYATS_SERVER_PORT
(default:9614
)IPFS_API
(default:http://localhost:5001
)PUBLIC_IPFS_GATEWAY
(default:https://dweb.link
)PRIVATE_IPFS_GATEWAY
(default:http://127.0.0.1:8080
)