KI-AGENT: Nutze Terminaleingabe im Selfhost Installer
All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 11s
Build and Push Docker Images / build-frontend (push) Successful in 10s
Build and Push Docker Images / build-website (push) Successful in 11s
Build and Push Docker Images / build-docs (push) Successful in 11s
All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 11s
Build and Push Docker Images / build-frontend (push) Successful in 10s
Build and Push Docker Images / build-website (push) Successful in 11s
Build and Push Docker Images / build-docs (push) Successful in 11s
This commit is contained in:
@@ -6,6 +6,12 @@ FEDEO_REF="${FEDEO_REF:-dev}"
|
|||||||
FEDEO_DIR="${FEDEO_DIR:-/opt/fedeo}"
|
FEDEO_DIR="${FEDEO_DIR:-/opt/fedeo}"
|
||||||
SETUP_ARGS=("$@")
|
SETUP_ARGS=("$@")
|
||||||
FEDEO_USE_SUDO_DOCKER="${FEDEO_USE_SUDO_DOCKER:-false}"
|
FEDEO_USE_SUDO_DOCKER="${FEDEO_USE_SUDO_DOCKER:-false}"
|
||||||
|
TTY_INPUT="${FEDEO_TTY_INPUT:-/dev/tty}"
|
||||||
|
TTY_FD=""
|
||||||
|
|
||||||
|
if { exec 3<"$TTY_INPUT"; } 2>/dev/null; then
|
||||||
|
TTY_FD="3"
|
||||||
|
fi
|
||||||
|
|
||||||
SUDO=""
|
SUDO=""
|
||||||
if [[ "$(id -u)" -ne 0 ]]; then
|
if [[ "$(id -u)" -ne 0 ]]; then
|
||||||
@@ -35,13 +41,21 @@ Umgebung:
|
|||||||
USAGE
|
USAGE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
read_interactive() {
|
||||||
|
if [[ -n "$TTY_FD" ]]; then
|
||||||
|
read -u "$TTY_FD" "$@"
|
||||||
|
else
|
||||||
|
read "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
yes_no() {
|
yes_no() {
|
||||||
local label="$1"
|
local label="$1"
|
||||||
local default_value="${2:-j}"
|
local default_value="${2:-j}"
|
||||||
local answer
|
local answer
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
read -r -p "$label [$default_value]: " answer
|
read_interactive -r -p "$label [$default_value]: " answer
|
||||||
answer="${answer:-$default_value}"
|
answer="${answer:-$default_value}"
|
||||||
case "$answer" in
|
case "$answer" in
|
||||||
y|Y|j|J|yes|Yes|ja|Ja)
|
y|Y|j|J|yes|Yes|ja|Ja)
|
||||||
@@ -179,6 +193,10 @@ EOF
|
|||||||
echo "Starte Selfhost-Assistent..."
|
echo "Starte Selfhost-Assistent..."
|
||||||
cd "$FEDEO_DIR"
|
cd "$FEDEO_DIR"
|
||||||
export FEDEO_USE_SUDO_DOCKER
|
export FEDEO_USE_SUDO_DOCKER
|
||||||
|
export FEDEO_TTY_INPUT="$TTY_INPUT"
|
||||||
|
if [[ "$TTY_INPUT" == "/dev/tty" && -r "$TTY_INPUT" ]]; then
|
||||||
|
exec bash scripts/selfhost-setup.sh "${SETUP_ARGS[@]}" <"$TTY_INPUT"
|
||||||
|
fi
|
||||||
exec bash scripts/selfhost-setup.sh "${SETUP_ARGS[@]}"
|
exec bash scripts/selfhost-setup.sh "${SETUP_ARGS[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,20 @@ COMPOSE_FILE="$ROOT_DIR/docker-compose.selfhost.yml"
|
|||||||
MODE=""
|
MODE=""
|
||||||
START_STACK="ask"
|
START_STACK="ask"
|
||||||
FORCE="false"
|
FORCE="false"
|
||||||
|
TTY_INPUT="${FEDEO_TTY_INPUT:-/dev/tty}"
|
||||||
|
TTY_FD=""
|
||||||
|
|
||||||
|
if { exec 3<"$TTY_INPUT"; } 2>/dev/null; then
|
||||||
|
TTY_FD="3"
|
||||||
|
fi
|
||||||
|
|
||||||
|
read_interactive() {
|
||||||
|
if [[ -n "$TTY_FD" ]]; then
|
||||||
|
read -u "$TTY_FD" "$@"
|
||||||
|
else
|
||||||
|
read "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
compose() {
|
compose() {
|
||||||
if [[ "${FEDEO_USE_SUDO_DOCKER:-false}" == "true" ]]; then
|
if [[ "${FEDEO_USE_SUDO_DOCKER:-false}" == "true" ]]; then
|
||||||
@@ -94,10 +108,10 @@ prompt() {
|
|||||||
local value
|
local value
|
||||||
|
|
||||||
if [[ -n "$default_value" ]]; then
|
if [[ -n "$default_value" ]]; then
|
||||||
read -r -p "$label [$default_value]: " value
|
read_interactive -r -p "$label [$default_value]: " value
|
||||||
echo "${value:-$default_value}"
|
echo "${value:-$default_value}"
|
||||||
else
|
else
|
||||||
read -r -p "$label: " value
|
read_interactive -r -p "$label: " value
|
||||||
echo "$value"
|
echo "$value"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -123,11 +137,11 @@ prompt_secret() {
|
|||||||
local value
|
local value
|
||||||
|
|
||||||
if [[ -n "$default_value" ]]; then
|
if [[ -n "$default_value" ]]; then
|
||||||
read -r -s -p "$label [vorbelegt, Enter übernimmt]: " value
|
read_interactive -r -s -p "$label [vorbelegt, Enter übernimmt]: " value
|
||||||
echo >&2
|
echo >&2
|
||||||
echo "${value:-$default_value}"
|
echo "${value:-$default_value}"
|
||||||
else
|
else
|
||||||
read -r -s -p "$label: " value
|
read_interactive -r -s -p "$label: " value
|
||||||
echo >&2
|
echo >&2
|
||||||
echo "$value"
|
echo "$value"
|
||||||
fi
|
fi
|
||||||
@@ -139,7 +153,7 @@ yes_no() {
|
|||||||
local answer
|
local answer
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
read -r -p "$label [$default_value]: " answer
|
read_interactive -r -p "$label [$default_value]: " answer
|
||||||
answer="${answer:-$default_value}"
|
answer="${answer:-$default_value}"
|
||||||
case "$answer" in
|
case "$answer" in
|
||||||
y|Y|j|J|yes|Yes|ja|Ja)
|
y|Y|j|J|yes|Yes|ja|Ja)
|
||||||
@@ -168,7 +182,7 @@ choose_mode() {
|
|||||||
|
|
||||||
local choice
|
local choice
|
||||||
while true; do
|
while true; do
|
||||||
read -r -p "Modus wählen [1]: " choice
|
read_interactive -r -p "Modus wählen [1]: " choice
|
||||||
case "${choice:-1}" in
|
case "${choice:-1}" in
|
||||||
1|einfach|simple)
|
1|einfach|simple)
|
||||||
MODE="simple"
|
MODE="simple"
|
||||||
|
|||||||
Reference in New Issue
Block a user