diff --git a/pack/custom/CustomSkinLoader_Universal-14.28.jar b/custom/CustomSkinLoader_Universal-14.28.jar similarity index 100% rename from pack/custom/CustomSkinLoader_Universal-14.28.jar rename to custom/CustomSkinLoader_Universal-14.28.jar diff --git a/pack/custom/Jade-1.21.1-NeoForge-15.10.5.jar b/custom/Jade-1.21.1-NeoForge-15.10.5.jar similarity index 100% rename from pack/custom/Jade-1.21.1-NeoForge-15.10.5.jar rename to custom/Jade-1.21.1-NeoForge-15.10.5.jar diff --git a/pack/custom/JadeAddons-1.21.1-NeoForge-6.1.0.jar b/custom/JadeAddons-1.21.1-NeoForge-6.1.0.jar similarity index 100% rename from pack/custom/JadeAddons-1.21.1-NeoForge-6.1.0.jar rename to custom/JadeAddons-1.21.1-NeoForge-6.1.0.jar diff --git a/pack/custom/JustEnoughProfessions-neoforge-1.21.1-4.0.5.jar b/custom/JustEnoughProfessions-neoforge-1.21.1-4.0.5.jar similarity index 100% rename from pack/custom/JustEnoughProfessions-neoforge-1.21.1-4.0.5.jar rename to custom/JustEnoughProfessions-neoforge-1.21.1-4.0.5.jar diff --git a/pack/custom/JustEnoughResources-NeoForge-1.21.1-1.6.0.17.jar b/custom/JustEnoughResources-NeoForge-1.21.1-1.6.0.17.jar similarity index 100% rename from pack/custom/JustEnoughResources-NeoForge-1.21.1-1.6.0.17.jar rename to custom/JustEnoughResources-NeoForge-1.21.1-1.6.0.17.jar diff --git a/pack/custom/MouseTweaks-neoforge-mc1.21-2.26.1.jar b/custom/MouseTweaks-neoforge-mc1.21-2.26.1.jar similarity index 100% rename from pack/custom/MouseTweaks-neoforge-mc1.21-2.26.1.jar rename to custom/MouseTweaks-neoforge-mc1.21-2.26.1.jar diff --git a/pack/custom/balm-neoforge-1.21.1-21.0.58.jar b/custom/balm-neoforge-1.21.1-21.0.58.jar similarity index 100% rename from pack/custom/balm-neoforge-1.21.1-21.0.58.jar rename to custom/balm-neoforge-1.21.1-21.0.58.jar diff --git a/pack/custom/inventoryessentials-neoforge-1.21.1-21.1.15.jar b/custom/inventoryessentials-neoforge-1.21.1-21.1.15.jar similarity index 100% rename from pack/custom/inventoryessentials-neoforge-1.21.1-21.1.15.jar rename to custom/inventoryessentials-neoforge-1.21.1-21.1.15.jar diff --git a/pack/custom/jei-1.21.1-neoforge-19.27.0.340.jar b/custom/jei-1.21.1-neoforge-19.27.0.340.jar similarity index 100% rename from pack/custom/jei-1.21.1-neoforge-19.27.0.340.jar rename to custom/jei-1.21.1-neoforge-19.27.0.340.jar diff --git a/docker-compose.blessingskin.yml b/docker-compose.blessingskin.yml index 4b52c4b..72cf07e 100644 --- a/docker-compose.blessingskin.yml +++ b/docker-compose.blessingskin.yml @@ -26,12 +26,12 @@ services: caddy: - # Swap the core ingress conf for the Blessing Skin one (same mount target, - # so it shadows the base 00-core.caddy). volumes is a full replacement here. + # Swap the core ingress conf for the Blessing Skin one. Compose MERGES + # volumes by container path, so mounting the BSS conf at the SAME target + # (/etc/caddy/conf.d/00-core.caddy) shadows the base 00-core.caddy; all + # other base mounts (pack, custom, static, ca) are kept automatically. volumes: - - ./caddy/Caddyfile:/etc/caddy/Caddyfile:ro - ./caddy/conf.d/00-core-blessingskin.caddy:/etc/caddy/conf.d/00-core.caddy:ro - - ./pack:/srv/pack:ro depends_on: - blessing-skin diff --git a/docker-compose.yml b/docker-compose.yml index 5b924b1..4e98e4d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -31,6 +31,10 @@ services: - ./mirror/launcher:/srv/launcher:ro - ./caddy/caddy-root-ca.crt:/srv/ca-pub/ca.crt:ro - ./pack:/srv/pack:ro + # Custom (locally-hosted) mod jars live OUTSIDE ./pack so packwiz refresh + # doesn't index them as direct files — they're external download targets + # referenced by pack/mods/*.pw.toml. Served at pack.${BASE_DOMAIN}/custom/. + - ./custom:/srv/pack/custom:ro networks: mcnet: # Only the stack's own subdomains in the base. The upstream spoof-host diff --git a/pack/index.toml b/pack/index.toml index 89a0692..fb76567 100644 --- a/pack/index.toml +++ b/pack/index.toml @@ -2,48 +2,12 @@ hash-format = "sha256" [[files]] file = "CustomSkinLoader/CustomSkinLoader.json" -hash = "e90635e0074cc7b1ddee50ddd2af8a4b35842ab721878665b00a3612ad01105b" +hash = "20f015b837d4178cc1ba6ca074e746dea91b2b97810587bae0fc4e55cf98b1aa" [[files]] file = "README.md" hash = "3915be75668def5a70667584c7aebdc1ee9a7f7dd9479cb10fb174aad40a6b4e" -[[files]] -file = "custom/CustomSkinLoader_Universal-14.28.jar" -hash = "0008fb0a91dd1e84d52162cfe96addb5f6aed3b76d426ea7305d7624e31f1894" - -[[files]] -file = "custom/Jade-1.21.1-NeoForge-15.10.5.jar" -hash = "067bb4b007e1d6f6b79f0afe99c91252aa825472b99a76d33a60d24442f9e92d" - -[[files]] -file = "custom/JadeAddons-1.21.1-NeoForge-6.1.0.jar" -hash = "5f242668ad710092964d4d9afda8a94fa2401665ea13eea67d55d07e4dff8a64" - -[[files]] -file = "custom/JustEnoughProfessions-neoforge-1.21.1-4.0.5.jar" -hash = "b320b47f1791f56df9e1a05138f0e312e6e54541945ff15f2f1fd398cd1d4d9d" - -[[files]] -file = "custom/JustEnoughResources-NeoForge-1.21.1-1.6.0.17.jar" -hash = "7a47d69b5530704690d5a5f0726cd74a2d6c57df17dd4a8589c4ab5212f91460" - -[[files]] -file = "custom/MouseTweaks-neoforge-mc1.21-2.26.1.jar" -hash = "68e6f4201c5de97b77929a7215c9552495696ca6a3bf3ae4eacc34e135f6cc8b" - -[[files]] -file = "custom/balm-neoforge-1.21.1-21.0.58.jar" -hash = "aa2463747bad4c2351869226ea7bce7839510dfd2ac387f8d1588b1ce9309c67" - -[[files]] -file = "custom/inventoryessentials-neoforge-1.21.1-21.1.15.jar" -hash = "b7a5c5526a45256551543419ba2b5d54e56c585d76a645a8cea8cb8ea843ae2c" - -[[files]] -file = "custom/jei-1.21.1-neoforge-19.27.0.340.jar" -hash = "8aaf547432f1b4958239b036356b910692fe40f858c3073d996f56bbf7c99826" - [[files]] file = "mods/balm-neoforge-1-21-1-21-0-58.pw.toml" hash = "4d04516cc66ac6f29d6d1ae16bfd89217f21d842858ace5bcae1e402da5da0e2" diff --git a/pack/pack.toml b/pack/pack.toml index b2f9563..b2ad8ee 100644 --- a/pack/pack.toml +++ b/pack/pack.toml @@ -6,7 +6,7 @@ pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "64c69b2e38fcf389a3de38d240aa95e8309ac60e717c1fe994aef2c4a2684921" +hash = "2707ae674c7c75371b97cc378ca72abc36bbb513b7db238db111f88a13aa6039" [versions] minecraft = "1.21.1" diff --git a/tooling/add-custom-mod.sh b/tooling/add-custom-mod.sh index 42d0504..041d8d3 100755 --- a/tooling/add-custom-mod.sh +++ b/tooling/add-custom-mod.sh @@ -6,8 +6,9 @@ # .pw.toml that points at a stable download URL + sha256, then refresh. # # Since the jars are local (no public URL), we HOST them on the caddy pack -# server: each jar is copied under pack/custom/ — caddy serves pack/ at -# http://pack.${BASE_DOMAIN}/ — so the metadata's download url is +# server: each jar is copied to the top-level ./custom/ dir (OUTSIDE ./pack, so +# packwiz refresh won't index it as a direct file). Caddy bind-mounts ./custom +# at /srv/pack/custom, so it is served at # http://pack.${BASE_DOMAIN}/custom/ # which is exactly what minecraft fetches via PACKWIZ_URL on install. # @@ -73,7 +74,7 @@ else JARS=("$TARGET") fi -mkdir -p pack/custom pack/mods +mkdir -p custom pack/mods # ---- per-jar processing (no refresh; refresh once at the end) -------------- add_one() { # $1 = jar path. Uses NAME (single-jar only), SIDE, FORCE, BASE_DOMAIN. @@ -88,7 +89,7 @@ add_one() { # $1 = jar path. Uses NAME (single-jar only), SIDE, FORCE, BASE_DOM [ -n "$slug" ] || die "could not derive a slug from name '$name'" meta="pack/mods/${slug}.pw.toml" - dest="pack/custom/${filename}" + dest="custom/${filename}" url="http://pack.${BASE_DOMAIN}/custom/${filename}" if [ "$FORCE" -ne 1 ]; then @@ -119,4 +120,4 @@ for j in "${JARS[@]}"; do add_one "$j"; done # .pw.toml files are picked up. Must run inside the pack dir. ( cd pack && packwiz refresh ) log "packwiz refresh done — ${#JARS[@]} mod(s) added to the pack" -echo " commit pack/custom/*.jar, pack/mods/*.pw.toml, pack/index.toml, pack/pack.toml" +echo " commit custom/*.jar, pack/mods/*.pw.toml, pack/index.toml, pack/pack.toml"