aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md42
1 files changed, 42 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..44b0d08
--- /dev/null
+++ b/README.md
@@ -0,0 +1,42 @@
+# Maple
+
+A very simple static Gemini server; written within a single file and liberally
+spanning 156 lines-of-code.
+
+## Usage
+
+### Certificates
+
+Before any possible method of usage; you must generate or use a preexisting
+server certificate.
+
+If you do not have an existing certificate, generate one using the provided
+certificate generations script: [`bin/genkey`](bin/genkey) (requires
+[OpenSSL](https://www.openssl.org/)).
+
+The server certificate must be placed in a directory -- directly adjacent to the
+Docker Compose file or executable -- named [`.maple`](.maple). The public and
+private keys must be named `public.pem` and `private.pem`, respectively.
+
+### Gemini Content
+
+Gemini content must be placed in a directory -- directly adjacent to the
+Docker Compose file or executable -- named [`.maple/gmi`](.maple/gmi) and
+ending with the file extension `.gmi`.
+
+### Docker Compose
+
+A Docker Compose file is already setup [here](./docker-compose.yaml). The only
+field which should be modified is the `ports`, if you have to.
+
+`$ docker-compose up -d` (requires [Docker](https://www.docker.com/) and/ or
+[Docker Compose](https://docs.docker.com/compose/))
+
+### Executable
+
+1. Build: `ninja` (requires [Ninja](https://ninja-build.org/))
+2. Run: `out/maple`
+
+## License
+
+This project is licensed with the [GNU General Public License v3.0](./LICENSE).