#!/usr/bin/env bash # Draft target path on vps.git: ~/git-kc/mysql/init/01-init-databases.sh # Runs inside the official MySQL container on first initialization only # (i.e. only when /var/lib/mysql is empty). set -Eeuo pipefail required_vars=( MYSQL_ROOT_PASSWORD MYSQL_GITEA_DATABASE MYSQL_GITEA_USER MYSQL_GITEA_PASSWORD MYSQL_KEYCLOAK_DATABASE MYSQL_KEYCLOAK_USER MYSQL_KEYCLOAK_PASSWORD ) for var in "${required_vars[@]}"; do if [[ -z "${!var:-}" ]]; then echo "[ERROR] Required environment variable is missing: $var" >&2 exit 1 fi done sql_escape() { printf '%s' "$1" | sed "s/'/''/g" } MYSQL_ROOT_PASSWORD_SQL=$(sql_escape "${MYSQL_ROOT_PASSWORD}") MYSQL_GITEA_PASSWORD_SQL=$(sql_escape "${MYSQL_GITEA_PASSWORD}") MYSQL_KEYCLOAK_PASSWORD_SQL=$(sql_escape "${MYSQL_KEYCLOAK_PASSWORD}") cat <