Agate

Agate

Docker app from Selfhosters

Overview

Agate is a server for the Gemini network protocol, built with the Rust programming language. Agate has very few features, and can only serve static files. It uses async I/O, and should be quite efficient even when running on low-end hardware and serving many concurrent requests.

Requirements

To get your server going you should:
- Mount your gemini content under /gmi (make a directory for each hostname if you specify more than one later)
- Mount your certificates directory under /certs (if this is empty then new ones will be generated)
- Change the Post Arguments to include your hostname(s) eg: `--hostname example.org`
- Note: If you specify more than one hostname then your contents directory must have one directory for each

There is more configuration information in the Github README: https://github.com/mbrubeck/agate . Add any additional config to the "Post Arguments" below.

Runtime arguments

Shell
sh
Privileged
false

Template configuration

Data directoryPathro

Your gemini content. This directory should contain your .gmi files, but must contain one directory for each hostname if you specify more than one hostname.

Target
/gmi
Default
/mnt/user/appdata/agate/content
Value
/mnt/user/appdata/agate/content
GeminiPorttcp

The port to serve on. Gemini clients expect this to be 1965 when unspecified.

Target
1965
Default
1965
Value
1965
CertificatesPathrw

The certificates for your gemini capsules. A `/cert.der` and `/key.der` for each hostname. These will be generated automatically if not present.

Target
/certs
Default
/mnt/user/appdata/agate/certs
Value
/mnt/user/appdata/agate/certs

Categories

Details

Repository
ghcr.io/mbrubeck/agate:latest
Last Updated2026-06-02
First Seen2024-12-02

Run Agate on Unraid.

Agate is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.