Thanks to a grant and support from the Filecoin Foundation for the Decentralized Web and after months of working away on v1 of Distributed.Press, we’re happy to announce that it’s ready to be tried and tested!
What is it?
For those who aren’t in the loop, distributed.press is a tool developed at Hypha that makes it easy to publish static websites to the Distributed Web. Specifically, it gives you an HTTP API to send tar archive files, which it will then extract and publish onto IPFS and Holepunch (formerly hypercore-protocol). It also comes with a custom DNS server, making it easier to set up custom domain names for your sites.
Project Overhaul
This has involved a major rewrite in how Distributed Press works under the hood.
It’s now easier to set up DNS records across all our supported protocols via the DNSLink specification and Distributed.Press’s newly built-in DNS server.
We’ve changed how peer-to-peer (P2P) protocols are integrated so that we can easily add new ones like BitTorrent or Earthstar. We have also reworked the way we publish to IPFS so that new updates can be published to the network almost instantaneously without needing to wait for DNS updates. And we have upgraded our Hypercore integration to use the newly rebranded Holepunch libraries which adds significant performance and reliability improvements.
If you’re part of a community that does P2P file transfer and would like to see your protocol integrated, open up an issue on our GitHub repo with information about your protocol and we can chat about integration from there.
Sutty CMS
As part of this effort we have been working with Sutty on integrating Distributed.Press into their Content Management System (CMS) and using it to have a graphical front-end for editing sites.
Screenshot of "Publish to DWeb" toggle in the Sutty CMS
Sutty generates static web sites using Jekyll themes and a dynamically generated front-end for themes. With the Sutty CMS, you can use a graphical, user-friendly interface to author posts and customize your site, and then enable their Distributed.Press integration to have Sutty publish your site to IPFS and Hypercore in addition to the HTTP version.
We have a small walk-through on how to publish a site with Sutty in our documentation. We encourage groups seeking more customized themes to reach out to them directly.
GitHub Publishing
In addition to Sutty, you can also add Distributed.Press to your existing GitHub Actions publishing flow. This works well if you’re already publishing a static website in a continuous integration to HTTP or even if you’ve been publishing to a single protocol like IPFS. In order to “DWeb-ify” your site, you just need a Distributed.Press instance and to take an extra step to upload your static site folder over HTTPS.
You can find more detailed documentation on our new docs website.
If you’d like to integrate Distributed.Press into other continuous integration environments or are having trouble setting it up yourself, you can reach out to us by email or open an issue on Github.
You can also check out the auto-generated swagger interface.
Documentation
Speaking of which, we have a new documentation website built with Next.js. We’ve added some information on how Distributed.Press works as well as steps to self-deploy your own instance and upload data to it.
COMPOST Magazine
This initial release is coming out as we finalize our third issue of COMPOST Magazine. We’ve been developing a new theme for Sutty based directly on COMPOST, so that our authors can write their pieces within the CMS, as well as ensure that we can deploy and serve COMPOST reliably across different protocols.
Make sure to subscribe to the COMPOST mailing list as well as follow COMPOST on Twitter and the Fediverse to get notified as soon as it’s out.
If you have any questions or want to explore collaborations, feel free to reach out to us.