From b69c775a72b1f176a25aa2bd0427465755968a4f Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Thu, 25 Dec 2025 16:49:50 +0100 Subject: [PATCH] add readme with benchmark summary --- README.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1c9ab5a --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# go-hauk + +Go port of the [Hauk](https://github.com/bilde2910/Hauk) location sharing backend. + +## why + +The original PHP implementation works fine but has some overhead. This port provides: + +- 345x higher throughput (45k vs 133 req/s) +- 36x smaller image (16MB vs 578MB) +- 3x lower memory footprint (8MB vs 25MB idle) +- single static binary, no runtime dependencies +- redis only (no memcached) + +## usage + +``` +docker run -p 8080:8080 \ + -e HAUK_AUTH_METHOD=password \ + -e HAUK_PASSWORD_HASH='$2a$10$...' \ + -e HAUK_REDIS_ADDR=redis:6379 \ + ghcr.io/parkan/go-hauk +``` + +## config + +all config via environment variables: + +| var | default | description | +|-----|---------|-------------| +| HAUK_LISTEN_ADDR | :8080 | listen address | +| HAUK_PUBLIC_URL | http://localhost:8080/ | public url for share links | +| HAUK_REDIS_ADDR | localhost:6379 | redis address (host:port or redis:// url) | +| HAUK_AUTH_METHOD | password | auth method (password, htpasswd, ldap) | +| HAUK_PASSWORD_HASH | | bcrypt hash for password auth | + +see `config/config.go` for full list. + +## compatibility + +drop-in replacement for the php backend. works with the existing android app and web frontend. + +## license + +same as upstream (apache 2.0).