Add NMSR-as-a-Service (NickAcPT/nmsr-rs) rendering players' skins/avatars,
sourced from Drasl instead of Mojang.
- docker/nmsr/Dockerfile build from source, pinned to commit 948ba4bc027b
(ears feature, lavapipe software Vulkan)
- nmsr/config.toml.tmpl [mojank] -> http://auth.${BASE_DOMAIN}; Drasl
serves the Mojang-compatible routes at its bare
BaseURL and embeds absolute skin URLs that NMSR
fetches directly. allow_offline_mode_uuids=true.
- docker-compose.nmsr.yml nmsr service (build), host bind 127.0.0.1:9898
only, config mount; mounts the caddy avatar snippet
- caddy/conf.d/40-avatar.caddy avatar.${BASE_DOMAIN} -> reverse_proxy nmsr:8080
- nginx-front + LE_SUBDOMAINS public TLS vhost (HSTS) + cert for avatar
- render-config.sh / .gitignore render + ignore nmsr/config.toml
Skin resolution stays internal over mcnet (caddy alias -> drasl), no public
round-trip.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
31 lines
744 B
Plaintext
31 lines
744 B
Plaintext
.env
|
|
backups/
|
|
drasl/config/keycloak-client-secret
|
|
runtime/authlib-injector.jar
|
|
|
|
# rendered configs (from tooling/render-config.sh)
|
|
drasl/config/config.toml
|
|
nmsr/config.toml
|
|
dnsmasq/dnsmasq.conf
|
|
# packwiz pack files rendered from pack/**/*.tmpl by tooling/render-pack.sh
|
|
# (domain-dependent build output); source of truth is the .tmpl + custom/ jars.
|
|
pack/mods/*.pw.toml
|
|
pack/index.toml
|
|
pack/CustomSkinLoader/CustomSkinLoader.json
|
|
|
|
# vendored / mirrored binaries
|
|
mirror/
|
|
pack/mods-files/
|
|
|
|
# landing page: generated build output + deps
|
|
www/
|
|
landing/node_modules/
|
|
landing/.astro/
|
|
landing/dist/
|
|
|
|
# exported Caddy CA (per-deploy artifact)
|
|
caddy/caddy-root-ca.crt
|
|
|
|
# Let's Encrypt certs + private keys (issued by tooling/issue-letsencrypt.sh)
|
|
certs/
|