Stargazer is a fast and easy to use Gemini server with no runtime dependencies (if compiled with musl libc).
Heavily inspired by gmnisrv.
There are various installation methods, take your pick.
docker pull zethra/stargazer
You can download pre-built Linux binaries from the release page. The bundle contains a static binary, example config, and man pages. It should work on any distro.
cargo install stargazer
git clone https://git.sr.ht/~zethra/stargazer && cg stargazer ./scripts/build # As root ./scripts/install --prefix=/usr
The required Rust version will not change between patch versions.
Stargazer officially supports Linux and FreeBSD. It will likely work on other BSDs, MacOS, Windows, and other platforms that its dependencies support but it's not currently tested on those platforms. Other free platforms may be officially supported in the future if there are sufficient requests for them. Patches to support other platforms likely will be accepted though.
Stargazer should be reasonably secure. I used it myself and I've tested it quite a bit. However, Stargazer has been almost exclusively written by one person and hasn't gone through any formal code review or audit so keep that in mind.
Do be mindful if you use CGI scripts. It can be easy to write them incorrectly such that they cause security problems. Especially if they are written in POSIX shell.
Stargazer would serve files from anywhere on the file system if a path starting
// was requested.
All of the source code and resulting binaries of stargazer is licensed under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE Version 3.
Please send any and all patches, bugs, and questions to the stargazer mailing list ~email@example.com or submit a ticket to the bug tracker if you feel so inclined todo.sr.ht/~zethra/stargazer. You can also contact me directly. Up to date contact info can be found on my website sashanoraa.gay.
If you can package stargazer please do! I currently maintain an Arch and Alpine package but if you can package for any other distro please do and let me know.