Skylab Setup
Note: these steps should still work, although the adduser script will ask you for a couple of new things. Until an updated setup guide becomes available, just know that my inbox is open if you need any support.
If you'd like to run skylab on a subpath, define `skylabPath` in `site_config.yaml` as the subpath without any slash at the beginning or end.
TLDR
- Use git clone and go build to make the executable
- Configure your gemini server
- Make the correct directory structure and write your config files using the skylab-tool.sh script
Example Skylab directory structure
Here's how I set up my Skylab instance for the first time:
Get GmCapsule ready with a new cert:
Then I restarted GmCapsule and checked to make sure that everything was working. I went to gemini://mail.satch.xyz and got "50 Permanent failure" but a valid certificate, so that's great.
Clone git repository and run setup scripts
That was 3.04 MiB in total.
Here I break and go make that directory before continuing:
Back to the script:
I can now check that everything worked:
Great. I will now build the cgi executable file using `go build` to the output directory I just created.
It's also totally fine to just run `go build` and then `mv` the file to the place it needs to be.
Next, I will create a user (myself):
I've forgotten where my keypair is kept, so I stop the script and go check. I'm putting it in my home directory for now to make this easy.
AutoFetch to false just means I don't download and parse my gembox file every time I reload the page while using Skylab. Use GMAP if it's supported by your misfin server so that your read messages and tagged messages are synced across clients and checking for new messages is faster.
GmCapsule Configuration
Now everything is ready except my gemini server, GmCapsule. I start by dumping the whole example configuration file into the .gmcapsulerc which I already have.
Then I go in there and edit out the redudant bits like [server], [static], [cgi], [titan] and things like that. Basically I have my old configuration and then the [DEFAULT] block onwards from the example file. I'm making sure to add "mail.satch.xyz" to my hosts list. I change the default values to the appropriate ones, and I can leave everything else:
Now I restart GmCapsule!
It's working!
I go to gemini://mail.satch.xyz and I see a login link, which I click. It prompts me to activate a client certificate, and so I do (the same PEM file which I provided during the setup, signed by my server admin cert). My inbox loads but it's empty since I have AutoFetch set to `false`, so I click on 🔃 Check for New Mail and my mail is there at the top of the screen!
To update
Whenever I want to update Skylab, I run `git pull` and then `go build -o ~/gmcapsule/skylab/mail.satch.xyz/` and that's it! Always check the skylab mailinglist before updating to see if there's anything important to know. You should probably just subscribe!
Optional configuration in site_config
To run Skylab on a subdirectory, edit site_config.yaml:
A tilde path is recommended as navigation to the homepage will be easier on gemini clients like Lagrange which treat these paths specially. In order to simplify the UI, links to "Home" have been omitted in favor of built in client tools for navigation to the root directory. If you use a tilde path, some clients will recognize it as the Skylab root.
To show sensitive configuration options on the frontend, edit site_config.yaml:
This is not recommended for multi-user Skylab instances where users are not highly trusted.