Example how to set up agate (a gemini server) with Docker and compose.
  • Dockerfile 80.6%
  • Shell 19.4%
Find a file
2023-04-27 11:59:34 +02:00
agate Initial migration import. 2023-04-27 11:59:34 +02:00
webroot Initial migration import. 2023-04-27 11:59:34 +02:00
.gitignore Initial migration import. 2023-04-27 11:59:34 +02:00
docker-compose.yml Initial migration import. 2023-04-27 11:59:34 +02:00
LICENSE Initial migration import. 2023-04-27 11:59:34 +02:00
README.md Initial migration import. 2023-04-27 11:59:34 +02:00

agate-docker

Example repository that shows how to set up agate (a gemini server) with Docker and docker compose.

For more information on agate, please see here.

For more information on gemini, check out Project Gemini.

A lot of info can be found in the agate repository but the goal here was to present a ready to use docker compose example.

Install

Set environment variables

Update the following environment variables in the docker-compose.yml file to match your desired values.

  • HOSTNAME
  • LANG

Create the ./certificates directory

This directory will hold the certificates generated by agate (or by you, see below):

mkdir ./certificates

[optionally] generate keys and certificates and put them in ./certificates/{hostname}

Example (update the CN value and directory name):

$ openssl req -x509 -newkey rsa:4096 -keyout key.rsa -out cert.pem -days 3650 -nodes -subj "/CN=example.com"
$ openssl x509 -inform pem -in cert.pem -outform der -out cert.der
$ openssl rsa -inform pem -in key.rsa -outform der -out key.der
mkdir ./certificates/example.com
cp cert.der key.der ./certificates/example.com/

However, if you don't do this, agate will itself generate self-signed certificates, so feel free to ignore this step.

Start agate

docker compose up -d agate

Docker should build and start the agate container, which is then available at port 1965.

All files go in ./webroot/. That's all there is to it!