mirror of
https://github.com/Darkrock-Studios/hammer-editor.git
synced 2026-08-26 01:41:41 +00:00
Argon2 hashing went through JNA, which extracts libjnidispatch.so at runtime. On Linux JNA ignores java.io.tmpdir and uses $XDG_CACHE_HOME, falling back to <user.home>/.cache, and the Docker image sets user.home=/data. That puts the shared object on the data volume, so hosts mounting it noexec cannot load it, and signup and login returned a 500 (#884). Argon2PasswordHasher derives with BouncyCastle instead, reading the variant, version, and cost parameters back out of the stored PHC string. Its output is byte-identical to libargon2 for the same inputs, so existing hashes keep verifying; the tests pin that against hashes generated by the C implementation. JNA is still on the runtime classpath via the CLI's terminal library, so the image also points XDG_CACHE_HOME at its own layer. |
||
|---|---|---|
| .. | ||
| config.example.toml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| README.md | ||
Docker files for the Hammer sync server
| File | Purpose |
|---|---|
Dockerfile |
Runtime image; packages the pre-built server distribution |
docker-compose.yml |
Turnkey setup with a data volume |
config.example.toml |
Starting point for config.toml |
Documentation lives in ../docs/HOW-TO-RUN-A-SERVER-DOCKER.md — quick start, networking and TLS, external PostgreSQL, backups, and building the image yourself.
cd docker
docker compose up -d