LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

agate

Serve content over the Gemini protocol

TLDR

Start a Gemini server
$ agate --content [/var/gemini] --hostname [example.com]
copy
Use custom certificates
$ agate --content [/var/gemini] --hostname [example.com] --certs [/etc/agate/certs]
copy
Run on custom port
$ agate --content [/var/gemini] --hostname [example.com] --addr [0.0.0.0:1965]
copy
Enable logging
$ agate --content [/var/gemini] --hostname [example.com] --log-ip
copy

SYNOPSIS

agate --content dir --hostname host [options]

DESCRIPTION

agate is a simple, secure server for the Gemini protocol, a lightweight alternative to HTTP focused on privacy and simplicity. It serves static content over TLS with minimal configuration.The server automatically generates TLS certificates if not provided, handles multiple virtual hosts, and serves Gemini text files (.gmi) and other content types based on file extensions.

PARAMETERS

--content dir

Root directory for content
--hostname host
Hostname for the server (can be repeated for virtual hosting)
--addr address
Address to bind (default: 0.0.0.0:1965)
--certs dir
Directory holding the TLS certificate/key pairs (default: .certificates). Certificates are generated automatically per hostname if missing.
--lang code
Default language code for text/gemini responses.
--log-ip
Log client IP addresses.
-C, --central-conf
Read a single .meta configuration file from the content root instead of per-directory files.
--serve-secret
Serve files and directories whose names start with a dot (served as hidden by default).
-3, --only-tls13
Disable TLSv1.2, accepting only TLSv1.3 connections.
--skip-port-check
Do not require the port in the request URL to match the listening port (useful behind a proxy).
-s, --silent
Disable logging output.

INSTALL

yay -S agate
copy
nix profile install nixpkgs#agate
copy

CAVEATS

Gemini requires TLS; unencrypted connections are not supported. The default Gemini port 1965 may require root privileges on some systems. Client support is limited compared to HTTP browsers.

HISTORY

agate was created as part of the growing Gemini ecosystem after the Gemini protocol was designed by Solderpunk in 2019. It provides a simple, Rust-based server implementation following the protocol's minimalist philosophy.

SEE ALSO

nginx(8)

RESOURCES

Copied to clipboard
Kai