mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-21 20:46:23 +00:00
301 lines
14 KiB
Bash
301 lines
14 KiB
Bash
# .env rendering helpers for setup.sh
|
|
|
|
setup_write_env() {
|
|
local ENV_OUT="$(dirname "$0")/.env"
|
|
if [ -f "$ENV_OUT" ]; then
|
|
say WARNING ".env already exists at $(realpath "$ENV_OUT" 2>/dev/null || echo "$ENV_OUT"). It will be overwritten."
|
|
local cont
|
|
if [ "$FORCE_OVERWRITE" = "1" ]; then
|
|
cont=1
|
|
else
|
|
cont=$(ask_yn "Continue and overwrite?" n)
|
|
fi
|
|
[ "$cont" = "1" ] || { say ERROR "Aborted"; exit 1; }
|
|
fi
|
|
|
|
DB_PLAYERBOTS_NAME=${DB_PLAYERBOTS_NAME:-$DEFAULT_DB_PLAYERBOTS_NAME}
|
|
HOST_ZONEINFO_PATH=${HOST_ZONEINFO_PATH:-$DEFAULT_HOST_ZONEINFO_PATH}
|
|
MYSQL_INNODB_REDO_LOG_CAPACITY=${MYSQL_INNODB_REDO_LOG_CAPACITY:-$DEFAULT_MYSQL_INNODB_REDO_LOG_CAPACITY}
|
|
MYSQL_RUNTIME_TMPFS_SIZE=${MYSQL_RUNTIME_TMPFS_SIZE:-$DEFAULT_MYSQL_RUNTIME_TMPFS_SIZE}
|
|
COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED=${COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED:-$DEFAULT_COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED}
|
|
COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED=${COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED:-$DEFAULT_COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED}
|
|
MYSQL_DISABLE_BINLOG=${MYSQL_DISABLE_BINLOG:-$DEFAULT_MYSQL_DISABLE_BINLOG}
|
|
MYSQL_CONFIG_DIR=${MYSQL_CONFIG_DIR:-$DEFAULT_MYSQL_CONFIG_DIR}
|
|
CLIENT_DATA_PATH=${CLIENT_DATA_PATH:-$DEFAULT_CLIENT_DATA_PATH}
|
|
BACKUP_HEALTHCHECK_MAX_MINUTES=${BACKUP_HEALTHCHECK_MAX_MINUTES:-$DEFAULT_BACKUP_HEALTHCHECK_MAX_MINUTES}
|
|
BACKUP_HEALTHCHECK_GRACE_SECONDS=${BACKUP_HEALTHCHECK_GRACE_SECONDS:-$DEFAULT_BACKUP_HEALTHCHECK_GRACE_SECONDS}
|
|
DB_WAIT_RETRIES=${DB_WAIT_RETRIES:-$DEFAULT_DB_WAIT_RETRIES}
|
|
DB_WAIT_SLEEP=${DB_WAIT_SLEEP:-$DEFAULT_DB_WAIT_SLEEP}
|
|
DB_RECONNECT_SECONDS=${DB_RECONNECT_SECONDS:-$DEFAULT_DB_RECONNECT_SECONDS}
|
|
DB_RECONNECT_ATTEMPTS=${DB_RECONNECT_ATTEMPTS:-$DEFAULT_DB_RECONNECT_ATTEMPTS}
|
|
DB_UPDATES_ALLOWED_MODULES=${DB_UPDATES_ALLOWED_MODULES:-$DEFAULT_DB_UPDATES_ALLOWED_MODULES}
|
|
DB_UPDATES_REDUNDANCY=${DB_UPDATES_REDUNDANCY:-$DEFAULT_DB_UPDATES_REDUNDANCY}
|
|
DB_LOGIN_WORKER_THREADS=${DB_LOGIN_WORKER_THREADS:-$DEFAULT_DB_LOGIN_WORKER_THREADS}
|
|
DB_WORLD_WORKER_THREADS=${DB_WORLD_WORKER_THREADS:-$DEFAULT_DB_WORLD_WORKER_THREADS}
|
|
DB_CHARACTER_WORKER_THREADS=${DB_CHARACTER_WORKER_THREADS:-$DEFAULT_DB_CHARACTER_WORKER_THREADS}
|
|
DB_LOGIN_SYNCH_THREADS=${DB_LOGIN_SYNCH_THREADS:-$DEFAULT_DB_LOGIN_SYNCH_THREADS}
|
|
DB_WORLD_SYNCH_THREADS=${DB_WORLD_SYNCH_THREADS:-$DEFAULT_DB_WORLD_SYNCH_THREADS}
|
|
DB_CHARACTER_SYNCH_THREADS=${DB_CHARACTER_SYNCH_THREADS:-$DEFAULT_DB_CHARACTER_SYNCH_THREADS}
|
|
MYSQL_HEALTHCHECK_INTERVAL=${MYSQL_HEALTHCHECK_INTERVAL:-$DEFAULT_MYSQL_HEALTHCHECK_INTERVAL}
|
|
MYSQL_HEALTHCHECK_TIMEOUT=${MYSQL_HEALTHCHECK_TIMEOUT:-$DEFAULT_MYSQL_HEALTHCHECK_TIMEOUT}
|
|
MYSQL_HEALTHCHECK_RETRIES=${MYSQL_HEALTHCHECK_RETRIES:-$DEFAULT_MYSQL_HEALTHCHECK_RETRIES}
|
|
MYSQL_HEALTHCHECK_START_PERIOD=${MYSQL_HEALTHCHECK_START_PERIOD:-$DEFAULT_MYSQL_HEALTHCHECK_START_PERIOD}
|
|
AUTH_HEALTHCHECK_INTERVAL=${AUTH_HEALTHCHECK_INTERVAL:-$DEFAULT_AUTH_HEALTHCHECK_INTERVAL}
|
|
AUTH_HEALTHCHECK_TIMEOUT=${AUTH_HEALTHCHECK_TIMEOUT:-$DEFAULT_AUTH_HEALTHCHECK_TIMEOUT}
|
|
AUTH_HEALTHCHECK_RETRIES=${AUTH_HEALTHCHECK_RETRIES:-$DEFAULT_AUTH_HEALTHCHECK_RETRIES}
|
|
AUTH_HEALTHCHECK_START_PERIOD=${AUTH_HEALTHCHECK_START_PERIOD:-$DEFAULT_AUTH_HEALTHCHECK_START_PERIOD}
|
|
WORLD_HEALTHCHECK_INTERVAL=${WORLD_HEALTHCHECK_INTERVAL:-$DEFAULT_WORLD_HEALTHCHECK_INTERVAL}
|
|
WORLD_HEALTHCHECK_TIMEOUT=${WORLD_HEALTHCHECK_TIMEOUT:-$DEFAULT_WORLD_HEALTHCHECK_TIMEOUT}
|
|
WORLD_HEALTHCHECK_RETRIES=${WORLD_HEALTHCHECK_RETRIES:-$DEFAULT_WORLD_HEALTHCHECK_RETRIES}
|
|
WORLD_HEALTHCHECK_START_PERIOD=${WORLD_HEALTHCHECK_START_PERIOD:-$DEFAULT_WORLD_HEALTHCHECK_START_PERIOD}
|
|
for hc_key in "${HEALTHCHECK_KEYS[@]}"; do
|
|
default_var="DEFAULT_${hc_key}"
|
|
printf -v "$hc_key" '%s' "${!hc_key:-${!default_var}}"
|
|
done
|
|
unset hc_key default_var
|
|
MODULE_ELUNA=${MODULE_ELUNA:-$DEFAULT_MODULE_ELUNA}
|
|
BACKUP_PATH=${BACKUP_PATH:-$DEFAULT_BACKUP_PATH}
|
|
|
|
local project_image_prefix
|
|
project_image_prefix="$(sanitize_project_name "$DEFAULT_PROJECT_NAME")"
|
|
if [ "$STACK_IMAGE_MODE" = "playerbots" ]; then
|
|
AC_AUTHSERVER_IMAGE_PLAYERBOTS_VALUE="$(resolve_project_image_tag "$project_image_prefix" "authserver-playerbots")"
|
|
AC_WORLDSERVER_IMAGE_PLAYERBOTS_VALUE="$(resolve_project_image_tag "$project_image_prefix" "worldserver-playerbots")"
|
|
AC_DB_IMPORT_IMAGE_VALUE="$(resolve_project_image_tag "$project_image_prefix" "db-import-playerbots")"
|
|
AC_CLIENT_DATA_IMAGE_PLAYERBOTS_VALUE="$(resolve_project_image_tag "$project_image_prefix" "client-data-playerbots")"
|
|
else
|
|
AC_AUTHSERVER_IMAGE_PLAYERBOTS_VALUE="$DEFAULT_AUTH_IMAGE_PLAYERBOTS"
|
|
AC_WORLDSERVER_IMAGE_PLAYERBOTS_VALUE="$DEFAULT_WORLD_IMAGE_PLAYERBOTS"
|
|
AC_DB_IMPORT_IMAGE_VALUE="$DEFAULT_AC_DB_IMPORT_IMAGE"
|
|
AC_CLIENT_DATA_IMAGE_PLAYERBOTS_VALUE="$DEFAULT_CLIENT_DATA_IMAGE_PLAYERBOTS"
|
|
fi
|
|
AC_AUTHSERVER_IMAGE_MODULES_VALUE="$(resolve_project_image_tag "$project_image_prefix" "authserver-modules-latest")"
|
|
AC_WORLDSERVER_IMAGE_MODULES_VALUE="$(resolve_project_image_tag "$project_image_prefix" "worldserver-modules-latest")"
|
|
|
|
{
|
|
cat <<EOF
|
|
# Generated by setup.sh
|
|
|
|
# Compose overrides (set to 1 to include matching file under compose-overrides/)
|
|
# mysql-expose.yml -> exposes MySQL externally via COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED
|
|
# worldserver-debug-logging.yml -> raises log verbosity via COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED
|
|
COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED=$COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED
|
|
COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED=$COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED
|
|
|
|
COMPOSE_PROJECT_NAME=$DEFAULT_PROJECT_NAME
|
|
|
|
STORAGE_PATH=$STORAGE_PATH
|
|
STORAGE_PATH_LOCAL=$LOCAL_STORAGE_ROOT
|
|
STORAGE_CONFIG_PATH=$(get_template_value "STORAGE_CONFIG_PATH")
|
|
STORAGE_LOGS_PATH=$(get_template_value "STORAGE_LOGS_PATH")
|
|
STORAGE_MODULES_PATH=$(get_template_value "STORAGE_MODULES_PATH")
|
|
STORAGE_LUA_SCRIPTS_PATH=$(get_template_value "STORAGE_LUA_SCRIPTS_PATH")
|
|
STORAGE_MODULES_META_PATH=$(get_template_value "STORAGE_MODULES_META_PATH")
|
|
STORAGE_MODULE_SQL_PATH=$(get_template_value "STORAGE_MODULE_SQL_PATH")
|
|
STORAGE_INSTALL_MARKERS_PATH=$(get_template_value "STORAGE_INSTALL_MARKERS_PATH")
|
|
STORAGE_CLIENT_DATA_PATH=$(get_template_value "STORAGE_CLIENT_DATA_PATH")
|
|
STORAGE_LOCAL_SOURCE_PATH=$(get_template_value "STORAGE_LOCAL_SOURCE_PATH")
|
|
BACKUP_PATH=$BACKUP_PATH
|
|
TZ=$DEFAULT_TZ
|
|
|
|
# Database
|
|
MYSQL_IMAGE=$DEFAULT_MYSQL_IMAGE
|
|
MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
|
|
MYSQL_ROOT_HOST=$DEFAULT_MYSQL_ROOT_HOST
|
|
MYSQL_USER=$DEFAULT_MYSQL_USER
|
|
MYSQL_PORT=$DEFAULT_MYSQL_INTERNAL_PORT
|
|
MYSQL_EXTERNAL_PORT=$MYSQL_EXTERNAL_PORT
|
|
MYSQL_DISABLE_BINLOG=${MYSQL_DISABLE_BINLOG:-$DEFAULT_MYSQL_DISABLE_BINLOG}
|
|
MYSQL_CONFIG_DIR=${MYSQL_CONFIG_DIR:-$DEFAULT_MYSQL_CONFIG_DIR}
|
|
MYSQL_CHARACTER_SET=$DEFAULT_MYSQL_CHARACTER_SET
|
|
MYSQL_COLLATION=$DEFAULT_MYSQL_COLLATION
|
|
MYSQL_MAX_CONNECTIONS=$DEFAULT_MYSQL_MAX_CONNECTIONS
|
|
MYSQL_INNODB_BUFFER_POOL_SIZE=$DEFAULT_MYSQL_INNODB_BUFFER_POOL_SIZE
|
|
MYSQL_INNODB_LOG_FILE_SIZE=$DEFAULT_MYSQL_INNODB_LOG_FILE_SIZE
|
|
MYSQL_INNODB_REDO_LOG_CAPACITY=${MYSQL_INNODB_REDO_LOG_CAPACITY:-$DEFAULT_MYSQL_INNODB_REDO_LOG_CAPACITY}
|
|
MYSQL_RUNTIME_TMPFS_SIZE=${MYSQL_RUNTIME_TMPFS_SIZE:-$DEFAULT_MYSQL_RUNTIME_TMPFS_SIZE}
|
|
MYSQL_HOST=$DEFAULT_MYSQL_HOST
|
|
DB_WAIT_RETRIES=$DB_WAIT_RETRIES
|
|
DB_WAIT_SLEEP=$DB_WAIT_SLEEP
|
|
DB_AUTH_NAME=$DEFAULT_DB_AUTH_NAME
|
|
DB_WORLD_NAME=$DEFAULT_DB_WORLD_NAME
|
|
DB_CHARACTERS_NAME=$DEFAULT_DB_CHARACTERS_NAME
|
|
DB_PLAYERBOTS_NAME=${DB_PLAYERBOTS_NAME:-$DEFAULT_DB_PLAYERBOTS_NAME}
|
|
AC_DB_IMPORT_IMAGE=$AC_DB_IMPORT_IMAGE_VALUE
|
|
|
|
# Database Import Settings
|
|
DB_RECONNECT_SECONDS=$DB_RECONNECT_SECONDS
|
|
DB_RECONNECT_ATTEMPTS=$DB_RECONNECT_ATTEMPTS
|
|
DB_UPDATES_ALLOWED_MODULES=$DB_UPDATES_ALLOWED_MODULES
|
|
DB_UPDATES_REDUNDANCY=$DB_UPDATES_REDUNDANCY
|
|
DB_LOGIN_WORKER_THREADS=$DB_LOGIN_WORKER_THREADS
|
|
DB_WORLD_WORKER_THREADS=$DB_WORLD_WORKER_THREADS
|
|
DB_CHARACTER_WORKER_THREADS=$DB_CHARACTER_WORKER_THREADS
|
|
DB_LOGIN_SYNCH_THREADS=$DB_LOGIN_SYNCH_THREADS
|
|
DB_WORLD_SYNCH_THREADS=$DB_WORLD_SYNCH_THREADS
|
|
DB_CHARACTER_SYNCH_THREADS=$DB_CHARACTER_SYNCH_THREADS
|
|
|
|
# Services (images)
|
|
AC_AUTHSERVER_IMAGE=$DEFAULT_AC_AUTHSERVER_IMAGE
|
|
AC_WORLDSERVER_IMAGE=$DEFAULT_AC_WORLDSERVER_IMAGE
|
|
AC_AUTHSERVER_IMAGE_PLAYERBOTS=${AC_AUTHSERVER_IMAGE_PLAYERBOTS_VALUE}
|
|
AC_WORLDSERVER_IMAGE_PLAYERBOTS=${AC_WORLDSERVER_IMAGE_PLAYERBOTS_VALUE}
|
|
AC_AUTHSERVER_IMAGE_MODULES=${AC_AUTHSERVER_IMAGE_MODULES_VALUE}
|
|
AC_WORLDSERVER_IMAGE_MODULES=${AC_WORLDSERVER_IMAGE_MODULES_VALUE}
|
|
|
|
# Client data images
|
|
AC_CLIENT_DATA_IMAGE=$DEFAULT_AC_CLIENT_DATA_IMAGE
|
|
AC_CLIENT_DATA_IMAGE_PLAYERBOTS=$AC_CLIENT_DATA_IMAGE_PLAYERBOTS_VALUE
|
|
CLIENT_DATA_CACHE_PATH=$DEFAULT_CLIENT_DATA_CACHE_PATH
|
|
CLIENT_DATA_PATH=$CLIENT_DATA_PATH
|
|
|
|
# Build artifacts
|
|
DOCKER_IMAGE_TAG=$DEFAULT_DOCKER_IMAGE_TAG
|
|
AC_AUTHSERVER_IMAGE_BASE=$DEFAULT_AUTHSERVER_IMAGE_BASE
|
|
AC_WORLDSERVER_IMAGE_BASE=$DEFAULT_WORLDSERVER_IMAGE_BASE
|
|
AC_DB_IMPORT_IMAGE_BASE=$DEFAULT_DB_IMPORT_IMAGE_BASE
|
|
AC_CLIENT_DATA_IMAGE_BASE=$DEFAULT_CLIENT_DATA_IMAGE_BASE
|
|
|
|
# Container user
|
|
CONTAINER_USER=$CONTAINER_USER
|
|
|
|
# Containers
|
|
CONTAINER_MYSQL=$DEFAULT_CONTAINER_MYSQL
|
|
CONTAINER_DB_IMPORT=$DEFAULT_CONTAINER_DB_IMPORT
|
|
CONTAINER_DB_INIT=$DEFAULT_CONTAINER_DB_INIT
|
|
CONTAINER_DB_GUARD=$(get_template_value "CONTAINER_DB_GUARD")
|
|
CONTAINER_BACKUP=$DEFAULT_CONTAINER_BACKUP
|
|
CONTAINER_MODULES=$DEFAULT_CONTAINER_MODULES
|
|
CONTAINER_POST_INSTALL=$DEFAULT_CONTAINER_POST_INSTALL
|
|
|
|
# Database Guard Defaults
|
|
DB_GUARD_RECHECK_SECONDS=$(get_template_value "DB_GUARD_RECHECK_SECONDS")
|
|
DB_GUARD_RETRY_SECONDS=$(get_template_value "DB_GUARD_RETRY_SECONDS")
|
|
DB_GUARD_WAIT_ATTEMPTS=$(get_template_value "DB_GUARD_WAIT_ATTEMPTS")
|
|
DB_GUARD_HEALTH_MAX_AGE=$(get_template_value "DB_GUARD_HEALTH_MAX_AGE")
|
|
DB_GUARD_HEALTHCHECK_INTERVAL=$(get_template_value "DB_GUARD_HEALTHCHECK_INTERVAL")
|
|
DB_GUARD_HEALTHCHECK_TIMEOUT=$(get_template_value "DB_GUARD_HEALTHCHECK_TIMEOUT")
|
|
DB_GUARD_HEALTHCHECK_RETRIES=$(get_template_value "DB_GUARD_HEALTHCHECK_RETRIES")
|
|
DB_GUARD_VERIFY_INTERVAL_SECONDS=$(get_template_value "DB_GUARD_VERIFY_INTERVAL_SECONDS")
|
|
|
|
# Module SQL staging
|
|
STAGE_PATH_MODULE_SQL=$(get_template_value "STAGE_PATH_MODULE_SQL")
|
|
|
|
# Modules rebuild source path
|
|
MODULES_REBUILD_SOURCE_PATH=$MODULES_REBUILD_SOURCE_PATH
|
|
|
|
# SQL Source Overlay
|
|
SOURCE_DIR=$(get_template_value "SOURCE_DIR")
|
|
AC_SQL_SOURCE_PATH=$(get_template_value "AC_SQL_SOURCE_PATH")
|
|
|
|
# Ports
|
|
AUTH_EXTERNAL_PORT=$AUTH_EXTERNAL_PORT
|
|
AUTH_PORT=$DEFAULT_AUTH_INTERNAL_PORT
|
|
WORLD_EXTERNAL_PORT=$REALM_PORT
|
|
WORLD_PORT=$DEFAULT_WORLD_INTERNAL_PORT
|
|
SOAP_EXTERNAL_PORT=$SOAP_EXTERNAL_PORT
|
|
SOAP_PORT=$DEFAULT_SOAP_INTERNAL_PORT
|
|
|
|
# Realm
|
|
SERVER_ADDRESS=$SERVER_ADDRESS
|
|
REALM_PORT=$REALM_PORT
|
|
|
|
# Backups
|
|
BACKUP_RETENTION_DAYS=$BACKUP_RETENTION_DAYS
|
|
BACKUP_RETENTION_HOURS=$BACKUP_RETENTION_HOURS
|
|
BACKUP_DAILY_TIME=$BACKUP_DAILY_TIME
|
|
BACKUP_INTERVAL_MINUTES=$(get_template_value "BACKUP_INTERVAL_MINUTES")
|
|
BACKUP_EXTRA_DATABASES=$(get_template_value "BACKUP_EXTRA_DATABASES")
|
|
BACKUP_HEALTHCHECK_MAX_MINUTES=$BACKUP_HEALTHCHECK_MAX_MINUTES
|
|
BACKUP_HEALTHCHECK_GRACE_SECONDS=$BACKUP_HEALTHCHECK_GRACE_SECONDS
|
|
|
|
EOF
|
|
echo
|
|
echo "# Modules"
|
|
for module_key in "${MODULE_KEYS[@]}"; do
|
|
local module_value="${!module_key:-0}"
|
|
# Only write enabled modules (value=1) to .env
|
|
if [ "$module_value" = "1" ]; then
|
|
printf "%s=%s\n" "$module_key" "$module_value"
|
|
fi
|
|
done
|
|
cat <<EOF
|
|
|
|
# Client data
|
|
CLIENT_DATA_VERSION=${CLIENT_DATA_VERSION:-$DEFAULT_CLIENT_DATA_VERSION}
|
|
|
|
# Server configuration
|
|
SERVER_CONFIG_PRESET=$SERVER_CONFIG_PRESET
|
|
|
|
# Playerbot runtime
|
|
PLAYERBOT_ENABLED=$PLAYERBOT_ENABLED
|
|
PLAYERBOT_MIN_BOTS=$PLAYERBOT_MIN_BOTS
|
|
PLAYERBOT_MAX_BOTS=$PLAYERBOT_MAX_BOTS
|
|
STACK_IMAGE_MODE=$STACK_IMAGE_MODE
|
|
STACK_SOURCE_VARIANT=$STACK_SOURCE_VARIANT
|
|
MODULES_ENABLED_LIST=$MODULES_ENABLED_LIST
|
|
MODULES_CPP_LIST=$MODULES_CPP_LIST
|
|
MODULES_REQUIRES_CUSTOM_BUILD=$MODULES_REQUIRES_CUSTOM_BUILD
|
|
MODULES_REQUIRES_PLAYERBOT_SOURCE=$MODULES_REQUIRES_PLAYERBOT_SOURCE
|
|
|
|
# Eluna
|
|
AC_ELUNA_ENABLED=$DEFAULT_ELUNA_ENABLED
|
|
AC_ELUNA_TRACE_BACK=$DEFAULT_ELUNA_TRACE_BACK
|
|
AC_ELUNA_AUTO_RELOAD=$DEFAULT_ELUNA_AUTO_RELOAD
|
|
AC_ELUNA_BYTECODE_CACHE=$DEFAULT_ELUNA_BYTECODE_CACHE
|
|
AC_ELUNA_SCRIPT_PATH=$DEFAULT_ELUNA_SCRIPT_PATH
|
|
AC_ELUNA_REQUIRE_PATHS=$DEFAULT_ELUNA_REQUIRE_PATHS
|
|
AC_ELUNA_REQUIRE_CPATHS=$DEFAULT_ELUNA_REQUIRE_CPATHS
|
|
AC_ELUNA_AUTO_RELOAD_INTERVAL=$DEFAULT_ELUNA_AUTO_RELOAD_INTERVAL
|
|
|
|
# Tools
|
|
PMA_HOST=$DEFAULT_CONTAINER_MYSQL
|
|
PMA_PORT=$DEFAULT_MYSQL_INTERNAL_PORT
|
|
PMA_USER=$DEFAULT_PMA_USER
|
|
PMA_EXTERNAL_PORT=$DEFAULT_PMA_EXTERNAL_PORT
|
|
PMA_ARBITRARY=$DEFAULT_PMA_ARBITRARY
|
|
PMA_ABSOLUTE_URI=$DEFAULT_PMA_ABSOLUTE_URI
|
|
PMA_UPLOAD_LIMIT=$DEFAULT_PMA_UPLOAD_LIMIT
|
|
PMA_MEMORY_LIMIT=$DEFAULT_PMA_MEMORY_LIMIT
|
|
PMA_MAX_EXECUTION_TIME=$DEFAULT_PMA_MAX_EXECUTION_TIME
|
|
KEIRA3_EXTERNAL_PORT=$DEFAULT_KEIRA3_EXTERNAL_PORT
|
|
KEIRA_DATABASE_HOST=$DEFAULT_CONTAINER_MYSQL
|
|
KEIRA_DATABASE_PORT=$DEFAULT_MYSQL_INTERNAL_PORT
|
|
|
|
# Health checks
|
|
EOF
|
|
for hc_key in "${HEALTHCHECK_KEYS[@]}"; do
|
|
printf "%s=%s\n" "$hc_key" "${!hc_key}"
|
|
done
|
|
cat <<EOF
|
|
|
|
# Networking
|
|
NETWORK_NAME=$DEFAULT_NETWORK_NAME
|
|
NETWORK_SUBNET=$DEFAULT_NETWORK_SUBNET
|
|
NETWORK_GATEWAY=$DEFAULT_NETWORK_GATEWAY
|
|
|
|
# Storage helpers
|
|
HOST_ZONEINFO_PATH=${HOST_ZONEINFO_PATH:-$DEFAULT_HOST_ZONEINFO_PATH}
|
|
|
|
# Helper images
|
|
ALPINE_GIT_IMAGE=$DEFAULT_ALPINE_GIT_IMAGE
|
|
ALPINE_IMAGE=$DEFAULT_ALPINE_IMAGE
|
|
EOF
|
|
} > "$ENV_OUT"
|
|
|
|
local staging_modules_dir="${LOCAL_STORAGE_ROOT_ABS}/modules"
|
|
mkdir -p "$staging_modules_dir"
|
|
|
|
local module_state_string=""
|
|
for module_state_var in "${MODULE_KEYS[@]}"; do
|
|
local module_value="${!module_state_var:-0}"
|
|
module_state_string+="${module_state_var}=${module_value}|"
|
|
done
|
|
printf '%s' "$module_state_string" > "${staging_modules_dir}/.modules_state"
|
|
if [ "$NEEDS_CXX_REBUILD" != "1" ]; then
|
|
rm -f "${staging_modules_dir}/.requires_rebuild" 2>/dev/null || true
|
|
fi
|
|
|
|
say SUCCESS ".env written to $ENV_OUT"
|
|
}
|