November 2021 Update
Published on November 10, 2021 by glyph
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.
@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!
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!
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!