Server Setup
Gardener is basically a computer program that manages webservers on your behalf.
The first step in setting up a website is connecting to the linux machine that will host your website, and installing the required software on it.
When you open Gardener for the first time, you will see a mostly empty screen.
Assuming you have a linux server ready to go, you can go ahead and click the button then start entering the server's information.
You will need:
- The IP address
- The root login (username & password)
Some VPS providers do not generate a root password for you, and instead require
you to provide an ssh key. If that was the case, you can acquire the ssh key by
clicking the info button then copy ssh keys.
This will copy your public key to the clipboard, which you can then paste into the relevant text box on the website of your VPS porvider.
On the server form then, you can leave the password field empty, and Gardener will use the ssh key instead.
Note: Gardener will use its own ssh key, which it will silently generate when its booted up for the first time; it will never use or touch your ssh keys.
Back to the main point: assuming you entered your server information correctly, you can now press "Server Setup" button to start the setup process.
Gardener will do the following:
- Connect to the server over SSH.
- Copy the public SSH key to the authorized_keys file.
- Gardener will not retain the root password; instead, it will use ssh key to login in the future.
- If the authorized_keys file already contains the key, it will not be added again.
- Configure system firewall to allow connections to ports 80 and 443
- Supported firewalls:
ufwandfirewall-cmdufwis the default for Debian based systems (such as Ubuntu)firewall-cmdis the default for RedHat based systems (such as Fedora)
- Supported firewalls:
- Upload a ~12MB zip file containing the executables for
hotcoreandsprouts- The excutables are for linux-amd64
- Invoke both executables with the install subcommands, which will perform the
following steps for each program:
- Create a user for the program with the same name, and copy the authorized_keys file to them so that Gardener can login as either of them using its ssh key.
- Create a directory for the program under
/opt/ - Create
systemdservice configuration file to ensure the program:- Starts up automatically if the machine reboots
- Gets restarted automatically if it crashes for any reason
- Starts both the hotcore and sprouts services immediately
- Verify the services are running
The whole process should take less than half a minute. The biggest bottle neck is the file upload, which depends largely on internet speed, but it should not take very long, since it's under 12MB.
Once the programs are uploaded, the install subcommand itself should complete
in about ~5 seconds; most of that time is just waiting for systemd to reload
its service definition files.
Here's a demo of what the installation process looks like. You may notice in this case it took barely 16 seconds in total, but your milage may vary.
Updating
Currently, all updates to Sprouts/Gardener are published to the LemonSqueezy store.
When an update is pushed out, we will send an email to all subscribers.
To get the update, visit the "View Order" link in your original email where you initially downloaded Gardener.
Updating server side installation
If you've setup a server with an older version of Gardener, and then download a newer version, you will see a warning-like tag on the server's row on the UI.
In the future we will add a smoother way to update server tools, but for now, the best way to do it is to click the menu, select "Edit server information", leave everything as-is and click "Setup"
Here's a quick video demo of reinstalling server tools. Notice the warning tip disappears after the process is complete.