Home

Awesome

<p align="center"> <img align="center" src="./images/ipfs-docs-header.png" width="1000"> </p> <div align="center"> <h3> IPFS is an open system to manage data without a central server </h3> <br>

Made by icon. Project icon. Build status icon. PRs Welcome

</div> <!-- TOC --> <!-- /TOC -->

Welcome to the official IPFS documentation. The Interplanetary File System (IPFS) is a distributed, peer-to-peer network for storing and accessing files, websites, applications, and data. Protocol Labs is the primary maintainer of the IPFS documentation and will review all issues and pull requests created in this repository.

If you'd just like to read the IPFS documentation, we recommend the website version.

Project set up

Run locally

To build the site locally, follow the steps below.

  1. Clone this repository:

    git clone https://github.com/ipfs/ipfs-docs.git
    
  2. Move into the ipfs-docs folder:

    cd ipfs-docs
    
  3. Install the NPM dependencies:

    npm install
    
  4. Boot up the application in dev mode:

    npm start
    
  5. Open localhost:8080 in your browser.

  6. Close the local server with CTRL + c.

  7. To restart the local server, run npm start from within the ipfs-docs folder.

Troubleshooting

If you're having trouble setting up the site locally, check this section for solutions to common issues.

Digital envelope routines initialization error

The following error message may display when using Node.js version 18.0.0 when attempting to deploy this project for the first time:

opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'

To solve this error, perform the following steps:

  1. Open a terminal.

  2. Navigate into the ipfs-docs folder:

    cd ipfs-docs
    
  3. Run the following command:

     export NODE_OPTIONS=--openssl-legacy-provider
    
  4. Run npm start.

    npm start
    

You can return to the Project set-up section above and continue with the steps. You can also check this issue in the Webpack GitHub repository for more information about this error.

Contribute to documentation

We would love ❤️ your help to improve existing items or make new ones even better! We also have bounties available!

Issues

If you find something wrong within this repository, please raise an issue here →. Unless the issue is urgent, updates will be batch-merged into main on Tuesdays or Thursdays.

Bounties

You can earn the undying love of the IPFS community, and get rewarded by closing an issue containing the bounty tag. Submissions must be production-ready and meet all the specifications listed on the issue page. To get started, check out the current list of open bounties →.

If you are attempting to close an issue, great! Thanks for the help! Please leave a comment within the issue requesting to be assigned to that issue before submitting a pull request. This minimizes the chance of multiple contributors duplicating work by submitting pull requests for the same issue. If you submit a pull request to an issue without first being assigned to it, your pull request may not be accepted.

Suggestions

Everyone has an opinion when it comes to documentation, and that's a good thing! Having folks from different backgrounds add to a discussion empowers everyone within that discussion, so if you've got something to add or would like to bring up a topic for discussion about the documentation, please do so! Create an issue using the kind/question tag.

Pull requests welcome

Feel free to submit pull requests with any changes you'd like to see. We will review and approve, or leave change requests, as soon as we are able.

Style and configuration guide

A writing style and template guide is in the process of being written that contributors can use as a guideline.

Static-site generator

The IPFS documentation site uses the VuePress static website generator to convert the Markdown guides into a documentation website. All the documentation is written in Markdown; follow the VuePress Markdown documentation for information on how to write markdown files for VuePress.

Automated deployments

When opening a pull request, CI scripts will run against your feature branch to test your changes.

The CI/CD production workflow builds on the main branch and deploys the documentation site on fleek. The site reflects the latest commit on main.

Primary maintainers

License

All software code is copyright (c) Protocol Labs, Inc. under the MIT license. Other written documentation and content are copyright (c) Protocol Labs, Inc. under the Creative Commons Attribution-Share-Alike License.