Introducing: Native Planet
This blog has been quiet for a few months, but Urbit development has never been more explosive. I recently heard that there are over 100 known apps being distributed on the network – everything from imageboards to support forums to smart contract IDEs – all permissionlessly created and distributed, taking advantage of Urbit’s P2P primitives. The world is starting to notice.
Like others in the community, I’ve been pretty busy building. Early this year, following the release of the Urbit for Umbrel apps, ~mopfel-winrux
and myself were brought on to work on the first commercial Urbit hardware project: Native Planet. If you were in Miami this September, you may have seen our prototypes set up at demo stations:
“Mainstream users don’t want to run servers” pic.twitter.com/jvW1LAfdaj
— Jake Brukhman (@jbrukh) September 23, 2022
NP’s first phase began as a partnership between ~dalhec-banler
and ~sipsen-pilser
. After ~sipsen
departed following completion of the first phase, ~dalhec
brought ~mopfel
and I on to work on finishing and commercializing the work they had begun, and ~nallux-dozryl
joined us during our frantic scramble to finish our Assembly demo. We’ve made a really excellent team. We’ve been quietly chipping away at this for most of this year, and we were pretty tight-lipped until we had something to show for it, but we’ve finalized our device specs and finished beta releases of our software. We privately revealed our project to attendees at the Tacen-hosted Reassembly conference in Wyoming this August, and publicly announced and demoed it at Assembly.
Until now, there were three ways of running a ship: on your PC, on a VPS you configure (the focus of this blog), or via a hosting provider like Tlon or ThirdEarth. These options present a quadrant map of tradeoffs between simple/complex, and subject/sovereign:
- A hosted ship is the simplest, but least sovereign, since your data is on someone else’s server that you don’t have any control over.
- An internet-accessible ship on your PC is the most sovereign, but least simple; your data is in your home, but you have to run an always-on PC and manage networking to make it internet accessible.
- A self-hosted VPS is somewhere in the middle. You have root control of the device your ship runs on, but it’s still leased and physically located in someone else’s datacenter.
Native Planet introduces a fourth option that wins on both vectors, with the simplicity and benefits of a hosted ship and the autonomy of running software at home. It’s an Urbit appliance – we’ve done a lot of work to make a device that you plug into your home network, configure from your phone or laptop, and access on the web without ever touching a CLI or router settings.
The hardware itself is recycled desktop-class Core i5 mini-ITX boards, dual-M.2 NVMe drives in hardware RAID1 configuration (128G-1T), and 8GB DDR4, contained in a sleek custom-designed powdered aluminum chassis:
(Also in black, blue, and red)
It’s way more power than you need for a single ship, and you can run as many as it will handle, for your moons or family members' planets.
In addition to carefully considered hardware and product design, much of our labor has been focused on developing two software projects:
- GroundSeg, our open source orchestration software to manage the device and its ships
- StarTram, our managed zero-config networking application
- Also released as a self-hostable open source version, called Anchor
GroundSeg features a Port-style friendly UI for booting and managing ships, which you can access from other devices on your home network:
GroundSeg also ships with automated self-hosted S3, via Minio (we’re shooting for literally zero-config by the time we ship, but the current release only requires you to paste commands into Dojo). We have also plans for automated hosting of other useful side-car services in the works.
StarTram has been my dedicated effort – it allows a ship running on home LAN to selectively expose services to the public internet via tunneled connection; practically speaking, this means you can access your Urbit from anywhere and allow other services to receive direct connections from the internet without ever thinking about networking – you literally only have to hit a toggle to enable it. Your pier and all other data running on your Native Planet are secure at home, running an open source stack, resilient to disk failures, and accessible from anywhere. This is what a personal server should be.
I’m extremely proud of what we’ve managed to accomplish, especially in the last four months or so. We’re very close to having our product ready to ship, and are shooting for the end of 2022. You can join the waitlist here.
(Note: Native Planet isn’t affiliated with Networked Subject – I just work on both.)