927MB of the image was just t7g's two CD ISOs, which can't be meaningfully compressed (already-compressed FMV/audio). Move the smbget/unzip step out of the Dockerfile and into scripts/fetch_games.sh, run from server.sh on container start: it populates GAMES_HOME on first run and skips the fetch if games are already present. run.sh mounts a named volume so the games survive --rm restarts instead of being re-downloaded every time. Image drops from 1.6GB to ~690MB; first container start now needs network access to the vlda-01 SMB share to seed the volume. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NiNnj78HGx1KWyCCo39HSz
834 B
834 B
TODO
- ~
Reduce image size ofDone in two steps:jayfield/dosbox-novnc(currently2.3GB).- Merged the game download/extract steps and the unzip/smbclient install into a single layer (so the downloaded zips and the packages only needed to extract them no longer persist in the final image). 2.31GB -> 1.6GB.
- Stopped baking the games into the image at all (927MB of that was just t7g's two CD
ISOs).
scripts/fetch_games.shnow downloads them from the SMB share into${GAMES_HOME}(/opt/games) on first container start instead, skipping the fetch if already present.run.shmounts a named volume (dosbox-games) so the games persist across--rmrestarts. 1.6GB -> ~690MB. Container now needs network access tovlda-01at runtime (not just build time) for the first start.