Introduction
This project aims to make it possible to self-host your website without needing to become a linux system administrator.
Instead, we provide a desktop program, "Gardener", that does the administration.
Up until now, if you wanted to operate a website, you had two choices:
a) Use some kind of a platform that does everything for you. They will host your website on their own infrastructure — these technical concerns are entirely invisible to you. On the one hand, you don't need to worry about the infrastructure, but on the other hand, you are vendor locked. You cannot really move without losing your data and content. Worse: the platform has the power to kick you out.
b) Learn linux system adminstration and self-host your website on a server that you control. On one hand, you are in full control, and can take your content with you whereever you want. On the other hand, the technical barrier is high: servers are complicated. There are tons of open source tools to help, but it's still complicated. Unless you are into technology, this path is probably a non-starter.
This project exists to remove the technical barriers to self hosting.
We start by simplifying system architecture: there's none to speak of.
Docker? Not needed. Ngingx? Not needed. Postgresql? Not needed. Apache? Not needed. PHP? Not needed. Node.js? Not needed. Package managers? Not needed.
The only thing you need is a bare linux server running either Debian or RedHat, or a variant thereof, such as Ubuntu, Fedora, Alma, etc.
Configuring the server to run a website involves installing only two small programs:
- HoTCo:RE — Our programmable reverse proxy
- Sprouts — Our web application server
Gardener will upload them and install them to the server in less than a minute.
Pre-requisites
To publish a website, you need:
-
Bare linux server
- You can rent a cheap VPS from Vultr, Hetzner, etc.
- CPU architecture should be Intel (amd64), not ARM
- 512MB of RAM should be plenty fine
- Enough disk space to host your content
- Should run a Debian or RedHat based linux distribution
- Debian
- Ubuntu
- RedHat
- Fedora
- Alma
- You should have root access (root username and password)
- If the VPS provider requires an ssh key, find it in Gardener under the "info" tab
- You should NOT install any http server like nginx or caddy.
- No need to install any extra packages either
- You can rent a cheap VPS from Vultr, Hetzner, etc.
-
Domain name
- You can buy one from a variety of providers, such as squarespace, namecheap, etc.
- Configure DNS A record to point to the server's IP address
Once you have this set up, you can use Gardener to publish your website to the server.
Download
To download Gardener, follow the download link on the top right corner of this page. You will be rediected to our LemonSqueezy store's product page, where you can enter your email to get a download link.
The "View Order" link in the email message will take you to a page where you can find the latest release.
Make sure to select the release appropriate to your operating system and CPU archiecture.
For example, I'm using an MacbookAir running the M2 chip, so my platform is macos-arm64.
If you're running an intel PC, then your CPU architecture is likely amd64.
The zip file sample-theme-concrete.zip is a website template which you can use
as a starter kit if you want.
In the future, we intend to provide more starter templates, and they will be embedded in the application itself.
Installation
The application is self-contained and does not require any explicit installation step.
If you are using MacOS, you can move Gardener.app to the Applications folder.
If you are using Windows, you can put the Gardener directory where ever you want, and you can create a desktop shortcut to the Gardener.exe file.
Warning
At this time, our Windows builds are not "signed", so when you attempt to launch the Gardener executable, you will get the following warning:
This dialog prevents you from accidentally running malicious programs.
If you trust the source where you got the program, you can bypass this dialog by click the "More Info" underlined link, then the dialog will show a button that allows you to "Run Anyway"