From d303d23d18c8cafec3f6e70d92d33a54ae1f4560 Mon Sep 17 00:00:00 2001 From: Oier Bravo Urtasun Date: Wed, 24 Jun 2026 21:53:47 +0200 Subject: [PATCH] feat(mc): mount distribution kubejs + CustomSkinLoader into server The minecraft container only received forgemods jars via ./server-mods. The distribution's files/kubejs (server_scripts, data, startup_scripts) and CustomSkinLoader never reached the server, so server-side kubejs recipes/scripts were silently absent. Bind-mount both from DISTRIBUTION_WEB_ROOT (read-only, to avoid the server polluting the client distribution with kubejs-generated files). Co-Authored-By: Claude Opus 4.8 (1M context) --- docker-compose.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 59a740e..b886bef 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -95,6 +95,13 @@ services: - mc_data:/data - ./runtime:/extras:ro # authlib-injector.jar lives here - ./server-mods:/mods:ro # itzg auto-syncs /mods → /data/mods + # Distribution client-override files the server also needs. kubejs holds + # server_scripts/data/startup_scripts (server-side); CustomSkinLoader by + # request. Mounted from the live distribution (DISTRIBUTION_WEB_ROOT), same + # source as the caddy distribution. mode ro so the server can't pollute the + # client distribution with kubejs-generated files. + - ${DISTRIBUTION_WEB_ROOT:?DISTRIBUTION_WEB_ROOT unset in .env}/servers/ulicraft-1.21.1/files/kubejs:/data/kubejs:ro + - ${DISTRIBUTION_WEB_ROOT}/servers/ulicraft-1.21.1/files/CustomSkinLoader:/data/CustomSkinLoader:ro depends_on: - drasl # authlib (auth.) must resolve at boot # Containers don't inherit the host's /etc/hosts; the LAN resolver returns a