- Project set up
- Contribute to documentation
- Style and configuration guide
- Primary maintainers
- License
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.
-
Clone this repository:
git clone https://github.com/ipfs/ipfs-docs.git
-
Move into the
ipfs-docs
folder:cd ipfs-docs
-
Install the NPM dependencies:
npm install
-
Boot up the application in dev mode:
npm start
-
Open localhost:8080 in your browser.
-
Close the local server with
CTRL
+c
. -
To restart the local server, run
npm start
from within theipfs-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:
-
Open a terminal.
-
Navigate into the
ipfs-docs
folder:cd ipfs-docs
-
Run the following command:
export NODE_OPTIONS=--openssl-legacy-provider
-
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
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
- @ElPaisano: Primary contact, technical writing
- @johnnymatthews: Primary contact, technical writing
- @2color: Developer relations & technical writing(ecosystem)
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.