mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 00:58:34 +00:00
deployment updates
This commit is contained in:
70
setup.sh
70
setup.sh
@@ -36,6 +36,18 @@ ask_yn(){ local p="$1"; local d="$2"; local v; while true; do
|
||||
if [ "$d" = "y" ]; then read -p "$(echo -e "${YELLOW}🔧 ${p} [Y/n]: ${NC}")" v; v=${v:-y}; else read -p "$(echo -e "${YELLOW}🔧 ${p} [y/N]: ${NC}")" v; v=${v:-n}; fi
|
||||
case "$v" in [Yy]*) echo 1; return 0;; [Nn]*) echo 0; return 0;; esac; say ERROR "Please answer y or n"; done; }
|
||||
|
||||
show_wow_header(){
|
||||
echo -e "\n${BLUE} ⚔️ AZEROTHCORE DEPLOYMENT SYSTEM ⚔️${NC}"
|
||||
echo -e "${BLUE} ═══════════════════════════════════════${NC}"
|
||||
echo -e "${BLUE} 🏰 Build Your Own WoW Server 🏰${NC}\n"
|
||||
}
|
||||
|
||||
show_realm_configured(){
|
||||
echo -e "\n${GREEN}⚔️ Your realm configuration has been forged! ⚔️${NC}"
|
||||
echo -e "${GREEN}🏰 Ready to deploy your World of Warcraft server${NC}"
|
||||
echo -e "${GREEN}🗡️ May your realm bring epic adventures!${NC}\n"
|
||||
}
|
||||
|
||||
main(){
|
||||
# Basic arg handling for help
|
||||
if [[ $# -gt 0 ]]; then
|
||||
@@ -63,14 +75,14 @@ EOF
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
say HEADER "AZEROTHCORE PROFILES SETUP (.env generator)"
|
||||
show_wow_header
|
||||
say INFO "This will create ac-compose/.env for compose profiles."
|
||||
|
||||
# Deployment type
|
||||
say HEADER "DEPLOYMENT TYPE"
|
||||
echo "1) Local Development (127.0.0.1, local storage)"
|
||||
echo "2) LAN Server (local network IP)"
|
||||
echo "3) Public Server (domain or public IP)"
|
||||
echo "1) 🏠 Local Development (127.0.0.1, local storage)"
|
||||
echo "2) 🌐 LAN Server (local network IP)"
|
||||
echo "3) ☁️ Public Server (domain or public IP)"
|
||||
local DEPLOYMENT_TYPE
|
||||
while true; do
|
||||
read -p "$(echo -e "${YELLOW}🔧 Select deployment type [1-3]: ${NC}")" x
|
||||
@@ -84,9 +96,9 @@ EOF
|
||||
|
||||
# Permission scheme
|
||||
say HEADER "PERMISSION SCHEME"
|
||||
echo "1) Local Dev (0:0)"
|
||||
echo "2) NFS Server (1001:1000)"
|
||||
echo "3) Custom"
|
||||
echo "1) 🏠 Local Dev (0:0)"
|
||||
echo "2) 🗂️ NFS Server (1001:1000)"
|
||||
echo "3) ⚙️ Custom"
|
||||
local CONTAINER_USER
|
||||
while true; do
|
||||
read -p "$(echo -e "${YELLOW}🔧 Select permission scheme [1-3]: ${NC}")" x
|
||||
@@ -126,9 +138,9 @@ EOF
|
||||
if [ "$DEPLOYMENT_TYPE" = "local" ]; then
|
||||
STORAGE_PATH=./storage
|
||||
else
|
||||
echo "1) ./storage (local)"
|
||||
echo "2) /nfs/azerothcore (NFS)"
|
||||
echo "3) Custom"
|
||||
echo "1) 💾 ./storage (local)"
|
||||
echo "2) 🌐 /nfs/azerothcore (NFS)"
|
||||
echo "3) 📁 Custom"
|
||||
while true; do
|
||||
read -p "$(echo -e "${YELLOW}🔧 Select storage option [1-3]: ${NC}")" s
|
||||
case "$s" in
|
||||
@@ -149,10 +161,10 @@ EOF
|
||||
|
||||
# Module config
|
||||
say HEADER "MODULE PRESET"
|
||||
echo "1) Suggested Modules"
|
||||
echo "2) Playerbots + Suggested modules"
|
||||
echo "3) Manual selection"
|
||||
echo "4) No modules"
|
||||
echo "1) ⭐ Suggested Modules"
|
||||
echo "2) 🤖 Playerbots + Suggested modules"
|
||||
echo "3) ⚙️ Manual selection"
|
||||
echo "4) 🚫 No modules"
|
||||
local MODE; while true; do
|
||||
read -p "$(echo -e "${YELLOW}🔧 Select module configuration [1-4]: ${NC}")" MODE
|
||||
case "$MODE" in 1|2|3|4) break;; *) say ERROR "Please select 1, 2, 3, or 4";; esac
|
||||
@@ -254,12 +266,8 @@ EOF
|
||||
AUTO_REBUILD_ON_DEPLOY=$(ask_yn "Enable automatic rebuild during future deploys?" n)
|
||||
if [ "$RUN_REBUILD_NOW" = "1" ] || [ "$AUTO_REBUILD_ON_DEPLOY" = "1" ]; then
|
||||
if [ -z "$MODULES_REBUILD_SOURCE_PATH_VALUE" ]; then
|
||||
read -p "$(echo -e "${YELLOW}🔧 Path to AzerothCore source compose (optional): ${NC}")" MODULES_REBUILD_SOURCE_PATH_VALUE
|
||||
fi
|
||||
if [ -z "$MODULES_REBUILD_SOURCE_PATH_VALUE" ]; then
|
||||
say WARNING "No source path provided; skipping rebuild automation."
|
||||
RUN_REBUILD_NOW=0
|
||||
AUTO_REBUILD_ON_DEPLOY=0
|
||||
MODULES_REBUILD_SOURCE_PATH_VALUE="./source/azerothcore"
|
||||
say INFO "Using default source path: ${MODULES_REBUILD_SOURCE_PATH_VALUE}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -271,6 +279,12 @@ EOF
|
||||
local cont; cont=$(ask_yn "Continue and overwrite?" n); [ "$cont" = "1" ] || { say ERROR "Aborted"; exit 1; }
|
||||
fi
|
||||
|
||||
if [ -z "$MODULES_REBUILD_SOURCE_PATH_VALUE" ]; then
|
||||
MODULES_REBUILD_SOURCE_PATH_VALUE="./source/azerothcore"
|
||||
fi
|
||||
|
||||
DB_PLAYERBOTS_NAME=${DB_PLAYERBOTS_NAME:-acore_playerbots}
|
||||
|
||||
cat > "$ENV_OUT" <<EOF
|
||||
# Generated by ac-compose/setup.sh
|
||||
|
||||
@@ -295,6 +309,7 @@ MYSQL_INNODB_LOG_FILE_SIZE=64M
|
||||
DB_AUTH_NAME=acore_auth
|
||||
DB_WORLD_NAME=acore_world
|
||||
DB_CHARACTERS_NAME=acore_characters
|
||||
DB_PLAYERBOTS_NAME=$DB_PLAYERBOTS_NAME
|
||||
AC_DB_IMPORT_IMAGE=acore/ac-wotlk-db-import:14.0.0-dev
|
||||
|
||||
# Services (images)
|
||||
@@ -402,6 +417,7 @@ NETWORK_GATEWAY=172.20.0.1
|
||||
EOF
|
||||
|
||||
say SUCCESS ".env written to $ENV_OUT"
|
||||
show_realm_configured
|
||||
|
||||
if [ "$RUN_REBUILD_NOW" = "1" ]; then
|
||||
echo ""
|
||||
@@ -410,20 +426,20 @@ EOF
|
||||
if ./scripts/rebuild-with-modules.sh --yes --source "$MODULES_REBUILD_SOURCE_PATH_VALUE"; then
|
||||
say SUCCESS "Module rebuild completed"
|
||||
else
|
||||
warn "Module rebuild failed; run ./scripts/rebuild-with-modules.sh manually once issues are resolved."
|
||||
say WARNING "Module rebuild failed; run ./scripts/rebuild-with-modules.sh manually once issues are resolved."
|
||||
fi
|
||||
else
|
||||
warn "Rebuild path was not provided; skipping automatic rebuild."
|
||||
say WARNING "Rebuild path was not provided; skipping automatic rebuild."
|
||||
fi
|
||||
fi
|
||||
|
||||
say INFO "Run with profiles (examples):"
|
||||
say INFO "Ready to bring your realm online:"
|
||||
if [ "$MODULE_PLAYERBOTS" = "1" ]; then
|
||||
echo " docker compose -f compose.yml --profile db --profile services-playerbots --profile client-data-bots --profile modules --profile tools up -d"
|
||||
echo " ./deploy.sh --profile modules --no-watch"
|
||||
echo " 🚀 Quick deploy: ./deploy.sh"
|
||||
echo " 🔧 Manual: docker compose --profile db --profile services-playerbots --profile client-data-bots --profile modules up -d"
|
||||
else
|
||||
echo " docker compose -f compose.yml --profile db --profile services-standard --profile client-data --profile modules --profile tools up -d"
|
||||
echo " ./deploy.sh --profile modules --no-watch"
|
||||
echo " 🚀 Quick deploy: ./deploy.sh"
|
||||
echo " 🔧 Manual: docker compose --profile db --profile services-standard --profile client-data --profile modules up -d"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user