Skip to content

Commit dd82dce

Browse files
committed
fix: 🐛 enhances install script robustness
1 parent 30aa4de commit dd82dce

1 file changed

Lines changed: 15 additions & 15 deletions

File tree

docker/install.sh

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ echo ""
3939
if [ "$(id -u)" -eq 0 ]; then
4040
print_yellow "You are running this script as root. BorgWarehouse must not run as root."
4141
echo ""
42-
read -rp "Username that will run BorgWarehouse: " BW_USER
42+
read -rp "Username that will run BorgWarehouse: " BW_USER </dev/tty
4343

4444
if ! id "$BW_USER" &>/dev/null; then
4545
print_red "[ERROR] User '$BW_USER' does not exist."
@@ -57,7 +57,7 @@ fi
5757

5858
# Install directory
5959
echo ""
60-
read -rp "Install directory [$SUGGESTED_DIR]: " INSTALL_PATH
60+
read -rp "Install directory [$SUGGESTED_DIR]: " INSTALL_PATH </dev/tty
6161
INSTALL_PATH="${INSTALL_PATH:-$SUGGESTED_DIR}"
6262
INSTALL_PATH="${INSTALL_PATH/#\~/$HOME}"
6363

@@ -66,22 +66,22 @@ echo ""
6666
print_bold "-- Configuration --"
6767
echo ""
6868

69-
read -rp "Your domain or IP (FQDN, e.g. borgwarehouse.example.com): " FQDN
69+
read -rp "Your domain or IP (FQDN, e.g. borgwarehouse.example.com): " FQDN </dev/tty
7070
while [ -z "$FQDN" ]; do
7171
print_red "FQDN is required."
72-
read -rp "Your domain or IP (FQDN): " FQDN
72+
read -rp "Your domain or IP (FQDN): " FQDN </dev/tty
7373
done
7474

75-
read -rp "Full URL of your BorgWarehouse instance (e.g. https://borgwarehouse.example.com): " NEXTAUTH_URL
75+
read -rp "Full URL of your BorgWarehouse instance (e.g. https://borgwarehouse.example.com): " NEXTAUTH_URL </dev/tty
7676
while [ -z "$NEXTAUTH_URL" ]; do
7777
print_red "NEXTAUTH_URL is required."
78-
read -rp "Full URL: " NEXTAUTH_URL
78+
read -rp "Full URL: " NEXTAUTH_URL </dev/tty
7979
done
8080

81-
read -rp "Web port to expose [3000]: " WEB_SERVER_PORT
81+
read -rp "Web port to expose [3000]: " WEB_SERVER_PORT </dev/tty
8282
WEB_SERVER_PORT="${WEB_SERVER_PORT:-3000}"
8383

84-
read -rp "SSH port to expose [2222]: " SSH_SERVER_PORT
84+
read -rp "SSH port to expose [2222]: " SSH_SERVER_PORT </dev/tty
8585
SSH_SERVER_PORT="${SSH_SERVER_PORT:-2222}"
8686

8787
# Auto-generate secrets
@@ -107,14 +107,14 @@ mkdir config ssh ssh_host repos
107107
chown -R "$PUID:$PGID" config ssh ssh_host repos .env docker-compose.yml
108108

109109
# Fill .env
110-
sed -i "s/^PUID=.*/PUID=$PUID/" .env
111-
sed -i "s/^PGID=.*/PGID=$PGID/" .env
112-
sed -i "s/^FQDN=.*/FQDN=$FQDN/" .env
110+
sed -i "s|^PUID=.*|PUID=$PUID|" .env
111+
sed -i "s|^PGID=.*|PGID=$PGID|" .env
112+
sed -i "s|^FQDN=.*|FQDN=$FQDN|" .env
113113
sed -i "s|^NEXTAUTH_URL=.*|NEXTAUTH_URL=$NEXTAUTH_URL|" .env
114-
sed -i "s/^NEXTAUTH_SECRET=.*/NEXTAUTH_SECRET=$NEXTAUTH_SECRET/" .env
115-
sed -i "s/^CRONJOB_KEY=.*/CRONJOB_KEY=$CRONJOB_KEY/" .env
116-
sed -i "s/^WEB_SERVER_PORT=.*/WEB_SERVER_PORT=$WEB_SERVER_PORT/" .env
117-
sed -i "s/^SSH_SERVER_PORT=.*/SSH_SERVER_PORT=$SSH_SERVER_PORT/" .env
114+
sed -i "s|^NEXTAUTH_SECRET=.*|NEXTAUTH_SECRET=$NEXTAUTH_SECRET|" .env
115+
sed -i "s|^CRONJOB_KEY=.*|CRONJOB_KEY=$CRONJOB_KEY|" .env
116+
sed -i "s|^WEB_SERVER_PORT=.*|WEB_SERVER_PORT=$WEB_SERVER_PORT|" .env
117+
sed -i "s|^SSH_SERVER_PORT=.*|SSH_SERVER_PORT=$SSH_SERVER_PORT|" .env
118118

119119
echo ""
120120
print_green "BorgWarehouse $LATEST is ready in '$INSTALL_PATH'."

0 commit comments

Comments
 (0)