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

Braincup
Open source brain training for math, memory and focus
Braincup mini-games
41 mini-games · Apache-2.0
No ads · No tracking
Play in browser
Download Braincup on the App StoreGet Braincup on Google PlayGet Braincup on F-Droid
276 stars
From the maker of Linux Command Library
Copied to clipboard
Braincup
Open source brain training for math, memory and focus. 41 mini-games, from mental arithmetic to Sudoku, N-Back and Solo Chess.
Apache-2.0 licensed · No ads · No tracking · No account
From the maker of Linux Command Library
Download Braincup on the App StoreGet Braincup on Google PlayGet Braincup on F-Droid