npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ipfs-bootstrap

v0.2.1

Published

One-command install + production-friendly IPFS setup with Web3 helpers

Readme

ipfs-bootstrap

One-command install + production-friendly IPFS node setup for backend/devops teams, with Web3/NFT helpers.

npm version license: MIT node >=18

Why this exists

Standing up IPFS in production is usually a patchwork of install docs, daemon config, service wiring, and provider-specific pin flows. ipfs-bootstrap gives teams one predictable CLI that handles setup and daily operations with sane defaults.

Quickstart

npm i -g ipfs-bootstrap

ipfs-bootstrap init
ipfs-bootstrap configure --profile dev --cors "*"
ipfs-bootstrap up
ipfs-bootstrap add ./asset.png
ipfs-bootstrap nft:metadata --name "My NFT" --image-cid <assetCID>

Commands

Setup

ipfs-bootstrap init [--mode auto|privileged|user] [--install-dir <path>] [--data-dir <path>] [--version <kubo-version>]
ipfs-bootstrap configure [--profile dev|prod] [--api-port <n>] [--gateway-port <n>] [--cors <csv>]
ipfs-bootstrap up
ipfs-bootstrap down
ipfs-bootstrap service <install|status> [--manager systemd|launchd|windows-service|pm2]

Node Ops

ipfs-bootstrap status [--json]
ipfs-bootstrap doctor [--json]
ipfs-bootstrap gc [--json]
ipfs-bootstrap stats [--json]
ipfs-bootstrap backup [--output <file>]
ipfs-bootstrap restore <backup-file>

Content

ipfs-bootstrap add <path> [--json]
ipfs-bootstrap pin <cid> [--provider local|pinata|web3storage] [--token <token>] [--name <name>]
ipfs-bootstrap uri <cid> [--scheme ipfs|https] [--gateway <url>] [--token-id <id>]

IPNS

ipfs-bootstrap ipns publish <cid> [--key <name>] [--lifetime <duration>]
ipfs-bootstrap ipns resolve <name>
ipfs-bootstrap ipns keys

CAR Files

ipfs-bootstrap car export <cid> [--output <file>]
ipfs-bootstrap car import <file.car>

NFT / Web3

ipfs-bootstrap nft:metadata --name <name> [--description <text>] [--image-cid <cid>] [--attributes '<json>']
ipfs-bootstrap nft:collection <assets-dir> --name <name> [--description <text>] [--output-dir <dir>] [--json]

Infrastructure

ipfs-bootstrap proxy [--format nginx|caddy] [--domain <domain>] [--output <file>]

Real Examples

# Init in user mode (no sudo)
ipfs-bootstrap init --mode user

# Production config
ipfs-bootstrap configure --profile prod --cors "https://app.example.com"

# Service + health
ipfs-bootstrap service install --manager systemd
ipfs-bootstrap doctor --json

# Pin to Pinata
ipfs-bootstrap pin <cid> --provider pinata --token "$PINATA_JWT"

# Full NFT collection workflow
ipfs-bootstrap nft:collection ./art --name "Genesis Collection" --description "First drop"
# → uploads all assets, generates per-token metadata, returns base URI

# Publish to IPNS for mutable pointer
ipfs-bootstrap ipns publish <baseCID> --lifetime 48h

# Export for offline/archive
ipfs-bootstrap car export <cid> --output archive.car

# Generate reverse proxy config
ipfs-bootstrap proxy --format nginx --domain ipfs.mysite.com --output /etc/nginx/conf.d/ipfs.conf

Remote Pin Providers

  • --provider local (default)
  • --provider pinata --token <JWT>
  • --provider web3storage --token <token>

Or set env var:

export IPFS_BOOTSTRAP_PIN_TOKEN=...

Architecture

  1. init → detect OS, install/locate Kubo, initialize repo
  2. configure → apply API/gateway ports, CORS, profile presets
  3. up/down → daemon lifecycle
  4. service install → systemd / launchd / NSSM / PM2
  5. add/pin → content to local node + optional remote provider
  6. ipns → mutable name publishing/resolution
  7. car → DAG import/export for archival
  8. nft:metadata/collection → chain-ready metadata generation
  9. proxy → reverse proxy config generation
  10. gc/stats/backup/restore → node maintenance

License + Links

Built with teeth. 🌑