1
0
mirror of https://git.sr.ht/~yotam/shavit synced 2024-11-23 00:42:10 +01:00
A Gemini server written in Go
Go to file
2019-12-06 21:22:18 +02:00
.build.yml Add more tools to CI linting 2019-11-22 17:28:19 +02:00
.gitignore Initial commit 2019-11-01 13:04:47 +02:00
config.toml Initial commit 2019-11-01 13:04:47 +02:00
go.mod Move GeminiError and ErrorResponse to go-gemini 2019-11-09 22:30:59 +02:00
go.sum Move GeminiError and ErrorResponse to go-gemini 2019-11-09 22:30:59 +02:00
handler.go Refactor main handler 2019-12-06 21:22:18 +02:00
input.go Add an option to specify custom config file 2019-11-22 16:25:47 +02:00
LICENSE Add a license (AGPLv3) 2019-11-01 17:30:30 +02:00
logger.go Fix go vet and go lint warnings 2019-11-02 14:51:43 +02:00
main.go Recover from panics in the main handler 2019-12-06 21:22:18 +02:00
README.md Add a README to explain how to use the server 2019-11-22 17:34:34 +02:00
recover.go Recover from panics in the main handler 2019-12-06 21:22:18 +02:00

Go Gemini Server

This is a yet to be named configurable Gemini server for UNIX operating systems. The server is in a very early state and can only serve static files but in the near future it will support dynamically generated files like a search endpoints and an Atom feed.

Building

The server is written in Go so to build it you only need to run one command:

go build

This will produce a binary named go-gemini-server that you can run.

Running

After you have compiled the server you need to configure it before it will run. The server expect a configuration file in /etc/gemini/config.toml that contain a path to the documents directory and the certificate files. A simple configuration file might look like this:

source = "/var/gemini/docs"
tls_certificate = "/var/gemini/server.crt"
tls_key = "/var/gemini/server.key"

With this configuration file the server will look for a certificate and key in /var/gemini and for documents in /var/gemini/docs.