1
0
mirror of https://git.sr.ht/~yotam/shavit synced 2024-11-26 10:23:47 +01:00
A Gemini server written in Go
Go to file
2019-12-07 17:36:32 +02:00
.build.yml Change name in build.yml to shavit 2019-12-07 17:36:32 +02:00
.gitignore Ignore new name binary output 2019-12-07 15:53:24 +02:00
config.toml Initial commit 2019-11-01 13:04:47 +02:00
go.mod Give the project a proper name 2019-12-07 11:50:58 +02:00
go.sum Move GeminiError and ErrorResponse to go-gemini 2019-11-09 22:30:59 +02:00
handler.go Validate request scheme 2019-12-07 11:34:41 +02:00
input.go Give the project a proper name 2019-12-07 11:50:58 +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 Handle error from AddExtensionType 2019-12-06 21:28:38 +02:00
README.md Give the project a proper name 2019-12-07 11:50:58 +02:00
recover.go Recover from panics in the main handler 2019-12-06 21:22:18 +02:00

Shavit

Shavit is a 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 shavit 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/shavit/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.