November 2021 Update
Published on November 10, 2021 by glyph
Admin

Solarpunk social hardware with Scuttlebutt


Warm greetings from the PeachCloud team! We've been quiet for many months—like a tortoise hibernating through the winter—but we're back! And with lots of exciting updates to share. Thank you to all the kind peers who support and have supported PeachCloud on our journey; we're stepping closer towards our first release and we couldn't have done it without your support.

News

Svendsolar

@notplants gave a brief presentation of PeachCloud at the Svendsolar gathering of the Butts in Svendborg, Denmark during late-August and received a lot of insightful feedback and suggestions from those in attendance.
@notplants presenting at Svendsolar

Moving away from GitHub

After much thought and deliberation, we have begun migrating our codebase and related communications from GitHub to a Gitea instance on Co-op Cloud. The GitHub repos will be archived once the transition is complete. Our decision was primarily motivated by a desire to remove ourselves, at least partially, from Microsoft's suffocating grasp. Their multifarious and insidious enclosure of the code commons is difficult to ignore, especially when we're actively trying to grow open, collectively-owned and anticapitalist sociotechnical systems.

"Which people are you supporting to grow? How is your software connected to those people?"

- @mix

Our new home on Co-op Cloud is operated by Autonomic Zone, a worker-owned co-operative, and their comrades. They aim to "build out a digital configuration commons for tech co-ops and democratic tech collectives". Denizens of the Scuttleverse and Fediverse will recognise many of the folx behind the Co-op Cloud project, including @KawaiiPunk, @aadil, @mirsal and @trav. Not only is the Gitea interface lovely to work with, but it feels incredibly nourishing and exciting to be personally connected with the caretakers of our git infrastructure - and to be able to support them in their work. We're happy to be contributing £10 per month to the Co-op Cloud OpenCollective.

Handshake Grant

We were recently awarded €6,000 to develop PeachPub! PeachPub is a web interface for managing a go-sbot instance. It is intended to be run either as a standalone service or bundled with the full PeachCloud suite of  functionality. The core team of @glyph and @notplants will be joined by @cblgh for this project (woohoo!). @cblgh will be primarily working on go-sbot and sbotcli to implement functionality required by PeachPub, improve documentation and generally sprinkle care and attention where required. We're super excited about this project and to be working as a team! More information can be found in our funding proposal on SSB: 
%G2GOd0j0ZFBInhK5R/PyfVUGHaiJvm3lRxSxA9KD80c=.sha256

Progress

Now for a brief summary of the technical progress we've made over the past year.

Infrastructure & Packaging

We've taken major strides in establishing infrastructure for the deployment, installation and maintenance of PeachCloud systems. All of our (micro)services are now bundled as Debian packages and served from a self-hosted apt repo. We also have a custom-rolled PeachCloud Debian image which can be flashed to an SD card for rapid deployment, along with a CLI tool for configuring and updating various components of the system. If you're curious to try things out, visit our releases page.

DynDNS

Thanks to @notplants, we now have a dynamic DNS server and client to facilitate reaching the PeachCloud web interface remotely. Most households and small businesses are assigned dynamic IP addresses by their ISP; this means the external IP address changes over time. Dynamic DNS offers a way to associate a dynamic IP address with a domain name. When combined with port-forward on the local router, dynamic DNS allows the PeachCloud interface to be accessed over the internet* using a specific URL (* in many but not all cases). Along with the dynDNS work, we have also implemented basic authentication for the web interface.

Networking

Our networking configuration is more stable than ever after we transitioned to using systemd-networkd for managing devices and enabling access point deployment (more details in the GH issue). @glyph described the change as "glorious" and almost certainly danced wildly in celebration (networking having been the bane of his existence for months, if not years).

SSB

After experimenting with the gosbot and sbotcli tools, we now have the beginnings of a notification system using Scuttlebutt as a transport layer. This allows a PeachCloud operator to define the public key of their personal (admin) account. Important system messages can then be sent as private messages from the PeachCloud identity to the operator. For example, the operator can request a password reset and have a temporary password sent to the operator. Just imagine Switch calling Tank in the Matrix and you basically have the idea. We're excited to explore more possibilities with this approach!

What's Next

We've begun developing a Rust wrapper around the Go sbotcli tool. This takes the form of a standalone library and allows programmatic interaction with a go-sbot instance from Rust code. Early development is underway in the go-sbotcli-rs repo.

In parallel to the SSB-related work, we've been designing interface mock-ups and will soon begin turning those into templates for inclusion in peach-web.
A peer menu screenshot alongside a screenshot of a list of friends.

That's all for now. Thanks for reading! We'll have another update for you in approximately one month. If you're keen on finer-grained updates, you can follow our dev-diaries in the #peachcloud channel on the Scuttleverse. Until next time, much love from the PeachCloud team!