#!/bin/bash set -euo pipefail # pcguard || exit 1 REMOTE_HOST="vps.git" REMOTE_USER="root" CONTAINER_NAME="git-kc-keycloak" HOST_CONFIG="/root/.keycloak/kcadm.config" CONTAINER_CONFIG="/tmp/kcadm.config" ENV_FILE="/root/git-kc/.env" if [[ $# -eq 0 ]]; then ssh "$REMOTE_USER@$REMOTE_HOST" \ "docker exec -i $CONTAINER_NAME /opt/keycloak/bin/kcadm.sh --help" <&0 exit $? fi SUBCOMMAND="$1" shift ssh "$REMOTE_USER@$REMOTE_HOST" " set -euo pipefail mkdir -p /root/.keycloak if [ -f $HOST_CONFIG ]; then docker cp $HOST_CONFIG $CONTAINER_NAME:$CONTAINER_CONFIG >/dev/null 2>&1 || true docker exec --user 0:0 $CONTAINER_NAME /bin/chmod 666 $CONTAINER_CONFIG >/dev/null 2>&1 || true fi if [ $(printf '%q' "$SUBCOMMAND") != config ] && [ -f $ENV_FILE ]; then set -a . $ENV_FILE set +a docker exec -i $CONTAINER_NAME /opt/keycloak/bin/kcadm.sh config credentials \ --config $CONTAINER_CONFIG \ --server http://127.0.0.1:8080 \ --realm master \ --user \"\$KC_BOOTSTRAP_ADMIN_USERNAME\" \ --password \"\$KC_BOOTSTRAP_ADMIN_PASSWORD\" >/dev/null fi set +e docker exec -i $CONTAINER_NAME /opt/keycloak/bin/kcadm.sh $(printf '%q ' "$SUBCOMMAND") --config $CONTAINER_CONFIG $(printf '%q ' "$@") status=\$? set -e docker cp $CONTAINER_NAME:$CONTAINER_CONFIG $HOST_CONFIG >/dev/null 2>&1 || true exit \$status " <&0