"Through a window, a small box contains the planets and galaxies. Electric wires hum quietly along wooden sunlight" Image generated by Midjourney.com
Part 1: Why host at home?
Hosting a blog from home is a fun project to learn how to get a website on the internet the old fashion way, but self-hosting is equally about ownership, privacy, and cost. These days, personal sites and blogs aren't the most common thing to host anymore. Most of our users don't actually run blogs at all, instead they run self-hosted apps like Photostructure, Jellyfin, or NextCloud.
A blog though, particularly a self-hosted one, somehow tingles the heart strings. The web (not "the net"), seems like it ought to connect people to each other - right? Today, a huge percentage of all web requests are sent to a few giants. If you want to visit a friends's page, you have to contact Facebook. The implication of this ranges from "not a problem at all" to "existential political crisis". We don't buy into cancel culture, and yet there is something to be said about being un-cancelable.
Now this isn't exactly our pitch to investors. Replacing Google Photos and Calendly with a tiny personal server for small businesses will probably stay the money-man pitch for quite a long time. However, whenever I do explain the practical reasons to self-host, I can't help but feel like I'm somehow missing the point. I feel like I've let the big idea down a bit. Maybe it's a bit megalomaniacal, but I imagine myself as Steve Jobs pitching the Mac as a "word processor".
"It was just going be a word processor initially, that was Jef's original concept. But, by the time you really got it to be a good word processor, it was very little more money to make it a great whatever you wanted to do. So, the original concept was not quite right, but everything great starts off that way, and you change as you go along. If you define something when you start off, then you leave no room for the creativity of brilliant implementation"― Steve Jobs, INSANELY GREAT: The Life and Times of Macintosh, the Computer that Changed Everything Hardcover
There is just something deeper about having a website on the internet than hosting photos or replacing consumer SaaS. If it's possible to go further into the hyperbolic: more people writing on the net may even change political discourse:
"The internet is a powerful force, and used for pro-social ends, it would help revitalize American social discourse. A more open internet would relieve numerous social harms, from geographic inequity and violations of privacy to abusive working conditions and capture of government."
Back on earth, in reality, it's just hard to say exactly what compels us to make self-hosting as easy as possible. Primarily, we just want to help developers have a way of shipping their products! Practically, the easiest way to get and support Photostructure is to buy a PiBox that shares revenue with them. We're super excited about enabling self-hosted software to flourish. We're not alone either: PikaPods, Umbrel, TuringPi and more amazing companies are being founded every day to distribute the web.
Speaking of distributing, we love the blockchain folks too - it's just that our strategy is different. To distribute the web: we distribute web-servers. But who knows what the side effect of this might be. A good bet is somewhere between "a few more personal sites on the internet" and "refactoring the structure of the internet". A modest upper limit, surely.
"An old computer in a cottage. through the window a green verdant forest blooms. the computer hums and hisses, vacuum tubes and wires. A cursor blinks with possibilities." Image generated by Midjourney.com
"A child playing with a computer that contains all the knowledge in the universe. The child is happy and warm." Image generated by Midjourney.com
Part 2: How to host at home
Gather the following:
A computerHosting a blog doesn't require a powerful computer. An old spare PC works great, although it can be a bit loud to leave on all the time. Some people go way over the top and that can be fun too.The most common barrier for our users used to be finding an appropriate computer to use. While we knew enthusiasts didn't mind building their own miniature data centers, we also knew we needed to be much easier for non-technical folks (or just really busy tech enthusiasts). This is why we built the PiBox.
Some blogging softwareGhost is hot shit, but Wordpress is also available. Ghost is brilliant for home hosting - many of its assets are hosted from free CDNs, leaving your home-server free to simply deliver text to the user. Everything old is new again! Either way, our goal is to make it as easy to install Ghost as it is to install an iOS app - no command line required (but available to those who want it!)
A way for the internet to reach youFor requests to reach your server you'll need an address on the internet, and you will need one that won't change. Residential ISPs typically issue "Dynamic IP addresses", which means they're free to change your servers address whenever they want. On top of that, they also often block internet requests on their way to your system.Assuming your ISP doesn't block requests, you will want a "Dynamic DNS" provider (essentially someone who follows us around whenever our ISP changes our IP address and automatically updates a website to point at that address). There are several 'DDNS' providers - we like No-IP just to name one. You will also need to forward web-ports to our home-server by configuring our router.If your ISP does block traffic, you'll need a clever way to side-step that block; the steps above won't work! You'll need a tunnel, which keeps a connection open to a server that will relay requests for you. After that, you'd need to buy a domain name, get an SSL certificate, and finally, connect all the pieces together! That... sounds a lot like work though, right? I'm exhausted just typing it!We automatically provide both Dynamic DNS and tunneling and free SSL and a free domain name when you install our agent (or just plug in a PiBox) 🔥Of course CloudFlare Tunnel is also available! And also does a great job of side-stepping the block by maintaining a private connection directly to your server and "tunneling" the requests through that connection.
A backup strategyBackups are always sure to set off an argument in nerd-ville. How often, how many, where, when, why - it's a rabbit hole. At KubeSail, we're aggressively pragmatic - and for most folks, having backups at all is a huge step up. We make it crazy easy to enable automatic nightly offsite backups.Our favorite feature is that we encrypt your backups locally, on-device, before uploading them to our Cloud. On top of that, we also support "difference" based backups, meaning we only backup the changes that occur. Our backup system uses Restic under the hood (which handles all the cool features). If you build your own custom backup solution - use Restic!Enough about us - our favorite vendor is easily BackBlaze, who we cannot recommend enough.For many folks, local replication is also a common choice. Simply having three copies of your data is typically plenty. While our PiBox handles two disks, we're also working on a five drive model that can handle spinning disks, and we're adding tools to easily configure replication. Make sure to sign up for the mailing list on the PiBox site to get updates on this. Since we'll never beat the self-hosting king of content, Jeff Geerling, I strongly recommend his blog posts about backups!
The last and most critical ingredient: The will to write"I'm not saying that writing is the best way to explore all ideas. If you have ideas about architecture, presumably the best way to explore them is to build actual buildings. What I'm saying is that however much you learn from exploring ideas in other ways, you'll still learn new things from writing about them."― Paul Graham, "Putting Ideas Into Words"I have no answers here. I've heard "A writer is someone for whom writing is more difficult than it is for other people", and I suppose that must make me a writer. I'll save my motivational drivel until the end - for now let's focus on why.
Part 3: MidJourney, AI, and the future of tech
So all that's nice - we know how to host at home and we know vaguely why to host at home (Writing makes you smart? Photo privacy? Democracy?). But... is it actually the future?
MidJourney, a painting AI, recently captured the imagination of the web. My wife generated the following prompt and image:
"Field of rainbow flowers basking in sunshine with a pretty blue bird flying above, everything sparkles." Image generated by Midjourney.com
Ah technology. Just when you get cynical, something like Midjourney turns us all into children again. It sometimes feels silly to try to guess the next major shift in technology. Certainly, in my early 20s, I would have had much more convincing arguments than I do today. I was sure we were headed for an explosion of tech-talent; the whole world as hackers! AI artists? A distributed web? Techno-democracy? In the fantastic book "The Dream Machine", M. Mitchell Waldrop wrote:
"Technology isn’t destiny, no matter how inexorable its evolution may seem; the way its capabilities are used is as much a matter of cultural choice and historical accident as politics is, or fashion."― M. Mitchell Waldrop, "The Dream Machine"
As so it seems, possibly, the answer to "why host at home?", or equally to "why write?" appears as much about "cultural choice and historical accident" as it is about cost, privacy, freedom, or any other high-minded ideal. Nothing is certain - but we'll be here - doing our best to make it easy for anyone to host websites themselves. But websites, blogs, photos? We like to think we're getting a bit Jobsian when we stick to the plan of "making it a great whatever you wanted to do". Who knows what your favorite self-hosted application will be!