From 6d15bcef6fdaee076062f6e63b2fa7a299db33d8 Mon Sep 17 00:00:00 2001 From: Deckard Date: Sat, 27 Sep 2025 03:22:50 -0400 Subject: [PATCH] Fix ac-client-data command syntax for Portainer compatibility --- docker-compose.yml | 97 +++++++++++++++++++++++----------------------- 1 file changed, 49 insertions(+), 48 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7c2cae9..d25c589 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -143,66 +143,67 @@ services: volumes: - ${HOST_DATA_PATH:-./data}:/azerothcore/data working_dir: /tmp - command: > - sh -c " - apk add --no-cache curl unzip wget ca-certificates p7zip + command: + - sh + - -c + - | + apk add --no-cache curl unzip wget ca-certificates p7zip - if [ -d '/azerothcore/data/maps' ] && [ -d '/azerothcore/data/vmaps' ] && [ -d '/azerothcore/data/mmaps' ] && [ -d '/azerothcore/data/dbc' ]; then - echo 'โœ… Game data already exists, skipping download' - exit 0 - fi + if [ -d '/azerothcore/data/maps' ] && [ -d '/azerothcore/data/vmaps' ] && [ -d '/azerothcore/data/mmaps' ] && [ -d '/azerothcore/data/dbc' ]; then + echo 'โœ… Game data already exists, skipping download' + exit 0 + fi - echo '๐Ÿš€ Starting AzerothCore game data download...' - echo 'This will download ~15GB of data and may take 10-30 minutes' + echo '๐Ÿš€ Starting AzerothCore game data download...' + echo 'This will download ~15GB of data and may take 10-30 minutes' - # Get the latest release info from wowgaming/client-data - echo '๐Ÿ“ก Fetching latest client data release info...' - LATEST_URL=$$(wget -qO- https://api.github.com/repos/wowgaming/client-data/releases/latest | grep '"browser_download_url":' | grep '\.7z' | cut -d'"' -f4 | head -1) + # Get the latest release info from wowgaming/client-data + echo '๐Ÿ“ก Fetching latest client data release info...' + LATEST_URL=$$(wget -qO- https://api.github.com/repos/wowgaming/client-data/releases/latest | grep '"browser_download_url":' | grep '\.7z' | cut -d'"' -f4 | head -1) - if [ -z \"$$LATEST_URL\" ]; then - echo 'โŒ Could not fetch latest release URL' - echo '๐Ÿ“ฅ Using fallback: direct download from v16 release' - LATEST_URL='https://github.com/wowgaming/client-data/releases/download/v16/data.7z' - fi + if [ -z "$$LATEST_URL" ]; then + echo 'โŒ Could not fetch latest release URL' + echo '๐Ÿ“ฅ Using fallback: direct download from v16 release' + LATEST_URL='https://github.com/wowgaming/client-data/releases/download/v16/data.7z' + fi - echo \"๐Ÿ“ฅ Downloading client data from: $$LATEST_URL\" + echo "๐Ÿ“ฅ Downloading client data from: $$LATEST_URL" - # Download the client data - wget -O data.7z \"$$LATEST_URL\" || { - echo 'โŒ Download failed, trying alternative method' - curl -L -o data.7z \"$$LATEST_URL\" || { - echo 'โŒ All download methods failed' + # Download the client data + wget -O data.7z "$$LATEST_URL" || { + echo 'โŒ Download failed, trying alternative method' + curl -L -o data.7z "$$LATEST_URL" || { + echo 'โŒ All download methods failed' + exit 1 + } + } + + echo '๐Ÿ“Š Download completed, file size:' + ls -lh data.7z + + echo '๐Ÿ“‚ Extracting client data (this may take 10-15 minutes)...' + 7z x data.7z -o/azerothcore/data/ || { + echo 'โŒ Extraction failed' exit 1 } - } - echo '๐Ÿ“Š Download completed, file size:' - ls -lh data.7z + echo '๐Ÿงน Cleaning up downloaded archive...' + rm -f data.7z - echo '๐Ÿ“‚ Extracting client data (this may take 10-15 minutes)...' - 7z x data.7z -o/azerothcore/data/ || { - echo 'โŒ Extraction failed' - exit 1 - } + echo 'โœ… Client data extraction complete!' + echo '๐Ÿ“ Verifying extracted directories:' + ls -la /azerothcore/data/ - echo '๐Ÿงน Cleaning up downloaded archive...' - rm -f data.7z + # Verify required directories exist + for dir in maps vmaps mmaps dbc; do + if [ -d "/azerothcore/data/$$dir" ]; then + echo "โœ… $$dir directory: OK" + else + echo "โŒ $$dir directory: MISSING" + fi + done - echo 'โœ… Client data extraction complete!' - echo '๐Ÿ“ Verifying extracted directories:' - ls -la /azerothcore/data/ - - # Verify required directories exist - for dir in maps vmaps mmaps dbc; do - if [ -d \"/azerothcore/data/$$dir\" ]; then - echo \"โœ… $$dir directory: OK\" - else - echo \"โŒ $$dir directory: MISSING\" - fi - done - - echo '๐ŸŽ‰ Game data setup complete! AzerothCore worldserver can now start.' - " + echo '๐ŸŽ‰ Game data setup complete! AzerothCore worldserver can now start.' restart: "no" networks: - azerothcore