7ea36d23ddfa74a2e82a737d2f545d9f77c1b1c3
- Switch Dockerfile base image from golang:1.23-bookworm to debian:12-slim - Update Dockerfile to use pre-built binary instead of building in container - Fix Docker CMD to use new CLI flag format with --listen and --root-path - Update Makefile to build binary to ./dist/ directory with CGO_ENABLED=0 - Make build-docker target depend on build target for efficiency - Change clean target to remove ./dist directory instead of single binary
__ _ ___ _ __ ___ ___ ___ _ ____ _____
/ _` |/ _ | '_ ` _ \/ __|/ _ | '__\ \ / / _ \
| (_| | __| | | | | \__ | __| | \ V | __/
\__, |\___|_| |_| |_|___/\___|_| \_/ \___|
|___/
Gemserve is a simple Gemini server written in Go.
Run tests and build:
make test #run tests only
make #run tests and build
Run:
LOG_LEVEL=info \
PANIC_ON_UNEXPECTED_ERROR=true \
RESPONSE_TIMEOUT=10 \ #seconds
ROOT_PATH=./srv \
DIR_INDEXING_ENABLED=false \
./gemserve 0.0.0.0:1965
You'll need TLS keys, you can use certs/generate.sh
for quick generation.
TODO
- Make TLS keys path configurable via venv
- Fix slowloris (proper response timeouts)
Languages
Go
96.4%
Makefile
1.6%
Shell
1.3%
Dockerfile
0.7%