mirror of
https://github.com/mwisnowski/mtg_python_deckbuilder.git
synced 2025-12-16 07:30:13 +01:00
feat: bake similarity cache into Docker images
- Copy card_files/ to /.defaults/card_files/ during build - Entrypoint checks for baked-in cache before downloading - Fallback to GitHub download if not present in image - Reduces startup time and bandwidth usage
This commit is contained in:
parent
0cf7598400
commit
fd240e2533
2 changed files with 18 additions and 4 deletions
|
|
@ -32,6 +32,12 @@ COPY config/ ./config/
|
|||
COPY config/ /.defaults/config/
|
||||
RUN mkdir -p owned_cards
|
||||
|
||||
# Copy similarity cache if available (pre-built during CI)
|
||||
# Store in /.defaults/card_files so it persists after volume mount
|
||||
RUN mkdir -p /.defaults/card_files
|
||||
# Copy entire card_files directory (will include cache if present, empty if not)
|
||||
COPY card_files/ /.defaults/card_files/
|
||||
|
||||
# Create necessary directories as mount points
|
||||
RUN mkdir -p deck_files logs csv_files card_files config /.defaults
|
||||
|
||||
|
|
|
|||
|
|
@ -6,11 +6,19 @@ seed_defaults() {
|
|||
# Ensure base config and data directories exist
|
||||
mkdir -p /app/config /app/config/card_lists /app/config/themes /app/card_files
|
||||
|
||||
# Download pre-built similarity cache from GitHub if not present
|
||||
# Copy pre-built similarity cache from image defaults if available, otherwise download
|
||||
if [ ! -f /app/card_files/similarity_cache.parquet ]; then
|
||||
echo "Downloading similarity cache from GitHub..."
|
||||
wget -q https://raw.githubusercontent.com/mwisnowski/mtg_python_deckbuilder/similarity-cache-data/card_files/similarity_cache.parquet -O /app/card_files/similarity_cache.parquet 2>/dev/null || echo "Warning: Could not download similarity cache"
|
||||
wget -q https://raw.githubusercontent.com/mwisnowski/mtg_python_deckbuilder/similarity-cache-data/card_files/similarity_cache_metadata.json -O /app/card_files/similarity_cache_metadata.json 2>/dev/null || true
|
||||
# First try to copy from baked-in defaults (included in Docker image during CI builds)
|
||||
if [ -f /.defaults/card_files/similarity_cache.parquet ]; then
|
||||
echo "Copying pre-built similarity cache from image..."
|
||||
cp /.defaults/card_files/similarity_cache.parquet /app/card_files/ 2>/dev/null || true
|
||||
cp /.defaults/card_files/similarity_cache_metadata.json /app/card_files/ 2>/dev/null || true
|
||||
else
|
||||
# Fallback: download from GitHub similarity-cache-data branch
|
||||
echo "Downloading similarity cache from GitHub..."
|
||||
wget -q https://raw.githubusercontent.com/mwisnowski/mtg_python_deckbuilder/similarity-cache-data/card_files/similarity_cache.parquet -O /app/card_files/similarity_cache.parquet 2>/dev/null || echo "Warning: Could not download similarity cache"
|
||||
wget -q https://raw.githubusercontent.com/mwisnowski/mtg_python_deckbuilder/similarity-cache-data/card_files/similarity_cache_metadata.json -O /app/card_files/similarity_cache_metadata.json 2>/dev/null || true
|
||||
fi
|
||||
fi
|
||||
|
||||
# Copy from baked-in defaults if targets are missing
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue