Discover more from Martian Computing
Product Review: Native Planet
Urbit Hosting at Home
When it comes to Urbit there are three main ways to get on the network beyond just running a planet temporarily on your local laptop. The simplest way to get on Urbit is to sign up at tlon.io, get a planet, and let us worry about hosting it for you.
The second way is to host your own ID in a cloud provider like Digital Ocean. I wrote the first guide on the internet for how to do this and it’s how I hosted my own planet until very recently (creating that guide got me more interested in Urbit and led to eventually joining Tlon).
The real exciting capability of Urbit though is hosting it right on your home network, but still accessing it from anywhere. There’s something really cool about having your own personal cloud computer and all your data sitting at home right next to you.
Native Planet has made it their mission to make this as easy as possible.
Native Planet makes two hardware devices, the Tellurian and the Aurora. The latter is their flagship and can be spec’d with 64GB of memory and up to 2TB of storage, which is the version I got. It’s a beautiful little device and they’ve done a good job with the packaging. The build quality is better than I expected for a tiny startup.
This device plugs directly into your home network and can optionally be run over WiFi. It runs a customized/focused version of Linux called Colony OS which includes GroundSeg (their Urbit specific hosting software) and easy access to StarTram, their VPN service for connecting to your urbit from outside your home network.
StarTram is free for the first year with purchase and then $5/mo or $50/yr, it’s also entirely open source and available if you want to run your own on something like Digital Ocean, but since it’s effectively UX around Wireguard and the data is encrypted, I’m happy to support them and have them run it for me.
While it’s certainly possible to run your urbit on your home network on any always-on computer you have lying around, accessing it outside of your home network comes with tradeoffs. The easiest way is something like tailscale, this works decently well (I did this for a time), but the experience on iOS leaves something to be desired and it doesn’t feel as good as being able to access it directly over the internet. You could run your own external VPN (even using StarTram), but this starts to get complicated for all but the most seasoned of techies.
The other *really* big problem Native Planet solves is that the GroundSeg tooling is essentially a wrapper that handles all of the basic maintenance currently required for running your own urbit. Specifically today, that’s runtime upgrades, packing/melding, and managing s3. Probably the coolest part of this is Native Planet makes it easy to set up a local MinIO s3 host with essentially one click *and* lets you configure custom domains so if you ever move things around none of your on urbit s3 image links break!
While much of this is stuff that Urbit should eventually handle on its own (automatic runtime upgrades, 64-bit loom not requiring s3, no need to pack/meld), in embracing the world-as-it-is Native Planet’s software does a great job in creating an out of the box home hosting urbit experience today and it makes the remote access very easy.
Once you plug it in to your local network and turn it on, you can access it on any other device on your home network by going to nativeplanet.local. From there you can either boot a new ID or import an existing one. I imported 4 existing IDs (since I had the RAM to spare) and the process was smooth and easy. If you go this route, I’d recommend running
chop first to reduce your pier size which makes the upload much easier (if you need help with this ask for help in the Tlon Local group on the network). I now host my own planet, my wife’s planet, and a backup moon all on this device without any issues.
From there you can follow pretty simple instructions to setup a custom domain and get s3 working in effectively one click. I also now no longer need to worry about updating my runtime or doing packs and melds, it’s pretty set and forget.
An unexpected side effect from doing this was a large increase in performance, I suspect because the Digital Ocean machine I had been running my urbit on had a lot worse CPU performance (despite being a pretty expensive option) and the network latency has been reduced to near zero.
Why do this?
We expect for many people, likely the vast majority, a hosted solution like tlon.io will be all they need. That said, the thing that really drew me to Urbit is the capability to self-host, in a way similar to the capability for self-custody of something like bitcoin. That ability is something special and hosting your own urbit and all of its data on your home network is really the purist form of this and in addition to being really cool, Native Planet makes it really easy.
If you have questions about this, the Native Planet guys are pretty active in their group ~nattyv/nativeplanet and friendly/helpful. I’ve been running my urbit nodes this way for a few months now and it’s been going well! I’m also writing this as a fan, I paid for my device and was not asked to review or write anything about it - I just think it’s a good device and solves the problem really well, if locally hosting your urbit is something you want to do I’d recommend picking one up.
See you on the network.