78e92a65be
fix(caddy): serve launcher from sibling mount, not nested under /srv/www
...
Mounting ./mirror/launcher at /srv/www/launcher failed: /srv/www is a
read-only mount, so the nested mountpoint can't be created. Mount it at
/srv/launcher and route /launcher/* via handle_path instead.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 05:04:59 +02:00
eede0102c6
fix(tooling): fetch-launcher Windows stable symlink picks MSVC Setup x64
...
MSVC and MinGW Setup .exe both matched 'setup.*.exe'; tightened the
include pattern to 'msvc-setup.*.exe' so exactly one candidate resolves.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 05:02:02 +02:00
f513f60766
feat(caddy): add tls internal vhosts for upstream mirror hosts
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:47:38 +02:00
a6c4d3be8c
feat(dnsmasq): add air-gap spoof records for upstream hosts
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:47:10 +02:00
33eb5c60e6
feat(tooling): add mirror-airgap.sh (deterministic mirror + capture notice)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:47:02 +02:00
a6a43a17ac
feat(tooling): add fetch-launcher.sh (all platforms + stable symlinks)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:44:27 +02:00
8f6d846858
refactor(compose): minecraft via PACKWIZ_URL, authlib->auth., runtime mount
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:42:55 +02:00
31eadcfb32
refactor(runtime): rename extras/ to runtime/, drop obsolete modrinth list
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:42:19 +02:00
5f7a197c56
feat(tooling): add mirror-mods.sh (vendor jars + rewrite .pw.toml URLs)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:40:56 +02:00
7f10cb24c9
feat(pack): packwiz init (NeoForge 1.21.1) + curation README
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:40:04 +02:00
0446fc68ac
refactor(compose): drasl internal-only behind caddy
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:38:53 +02:00
e61286d2b3
feat(drasl): add config.toml.tmpl (password login, SignPublicKeys=false)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:38:41 +02:00
e351736e2e
feat(compose): add caddy service + network aliases
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:38:04 +02:00
6d09f659db
feat(caddy): add Caddyfile (apex + auth + packwiz vhosts)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:34:33 +02:00
c717890012
feat(compose): add dnsmasq service
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:11:45 +02:00
b24814a214
feat(dnsmasq): add dnsmasq.conf.tmpl (wildcard *.BASE_DOMAIN)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:11:04 +02:00
1300a02070
feat(tooling): add render-config.sh (envsubst, halt on unset var)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:07:54 +02:00
26cbaa1bdf
feat(env): add BASE_DOMAIN + HOST_LAN_IP to .env.example
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 04:06:56 +02:00
c09da15bd0
initial commit
2026-05-24 04:03:42 +02:00