refactor(pack): host custom jars from ./custom outside the pack root
Move pack/custom/ -> ./custom/ and bind-mount it into caddy at
/srv/pack/custom (served URL pack.${BASE_DOMAIN}/custom/ unchanged).
Keeping jars outside the packwiz pack root stops `packwiz refresh`
from indexing them as direct files on top of the mods/*.pw.toml
external refs (drops 9 bogus custom/*.jar entries from index.toml).
add-custom-mod.sh now writes jars to ./custom/. Trim the blessingskin
caddy override to just the conf swap (volumes merge by target).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -6,8 +6,9 @@
|
||||
# <slug>.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/<filename>
|
||||
# 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"
|
||||
|
||||
Reference in New Issue
Block a user