Gemini on Uberspace ๐Ÿš€

This is a short introduction on how to use Gemini on Uberspace using the Orion Gemini server.

Download Orion binary

Use wget to download the Orion source ZIP file:

Make the binary executable and move it to ~/bin:

Download the sample orion.conf file

Create the content diretory

Make sure your certificate and key are present

Uberspace provides Let's Encrypt certificates. These are generated with the first HTTPS request to your (sub)domain. Issue one HTTPS request to your uber.space address to make sure the certificate and key exist:

The crt and key files should now be present in ~/etc/certificates/

Open a port

Since Uberspace doesn't have out of the box Gemini support, your server cannot run on Gemini's default port of 1965.

Write down the port number, you will need it in the next step. You will also need to include it in every link to your Gemini page.

Edit orion.conf

Change the Hostname, Bind, Certfile, Keyfile, and ContentDir lines. Make sure to adapt the Hostname, port number and certificate / key file names and paths.

supervisord service

Create a file ~/etc/services.d/orion.ini with this content:

Run `supervisorctl update` to start your service

After 30 seconds, orion should be in status RUNNING:

Cronjob

Uberspace regularly updates your Let's Encrypt certificate. This is done when it is accessed via HTTPS and the certificate's expires in less than 30 days. By regularly accessing the HTTPS site and restarting the Orion service, it will load the updated certificate. Run `crontab -e` to edit your crontab in your default editor and enter

Save the crontab.

Create content

Create a file named index.gmi in ~/gemini/ and fill it with your Gemini content.

Access your Gemini site

Use a Gemini client to access your Gemini site at

Make sure to use your own port number and user name instead of 41240 / isabell.

Uberspace

Uberspace manual

Gemini software

Let's Encrypt

Orion

Orion binary

Sample orion.conf