A simple Gemini capsule that mirrors the content of coredump.ch.
generate.py: Python script to fetch the website content and convert it to Gemtext (.gmi).content/: Directory containing the static Gemtext files.Dockerfile: Multi-stage build that compiles theagateRust server and bundles the content..github/workflows/docker.yml: GitHub Action to build the server image.
To update the mirrored content:
uv run generate.pyBuild and run the Gemini server:
docker build -t gemini-capsule .
docker run -p 1965:1965 -v gemini_certs:/app/certs gemini-capsuleYou can also use Docker Compose to run the server and persist certificates automatically:
docker-compose up -dYou can configure the hostname using the GEMINI_HOSTNAME environment variable.
With Docker:
docker run -p 1965:1965 -v gemini_certs:/app/certs -e GEMINI_HOSTNAME=example.com gemini-capsuleWith Docker Compose:
Modify the docker-compose.yml file or set the variable in your shell:
GEMINI_HOSTNAME=example.com docker-compose up -dThe server will be available at gemini://localhost/. Note that it uses self-signed certificates generated on the fly.