Update npmplus-install.sh

This commit is contained in:
CanbiZ 2025-03-13 14:30:55 +01:00
parent f0c9be70a4
commit c5160003c5

View File

@ -41,10 +41,10 @@ curl -sSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LA
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
msg_ok "Installed Docker & Compose" msg_ok "Installed Docker & Compose"
msg_info "Get NPMplus" msg_info "Fetching NPMplus"
cd /opt cd /opt
wget -q https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml wget -q https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml
msg_ok "Get NPMplus" msg_ok "Fetched NPMplus"
attempts=0 attempts=0
while true; do while true; do
@ -69,43 +69,34 @@ yq -i "
[\"TZ=$TZ_INPUT\", \"ACME_EMAIL=$ACME_EMAIL_INPUT\"]) [\"TZ=$TZ_INPUT\", \"ACME_EMAIL=$ACME_EMAIL_INPUT\"])
" /opt/compose.yaml " /opt/compose.yaml
msg_info "Starting NPMplus" msg_info "Building NPMplus"
$STD docker compose up -d $STD docker compose up -d
CONTAINER_ID=$(docker ps --format "{{.ID}}" --filter "name=npmplus") CONTAINER_ID=""
for i in {1..30}; do
if [[ -z "$CONTAINER_ID" ]]; then CONTAINER_ID=$(docker ps --filter "name=npmplus" --format "{{.ID}}")
msg_error "NPMplus container not found." if [[ -n "$CONTAINER_ID" ]]; then
fi STATUS=$(docker inspect --format '{{.State.Health.Status}}' "$CONTAINER_ID" 2>/dev/null || echo "starting")
if [[ "$STATUS" == "healthy" ]]; then
TIMEOUT=60 break
while [[ $TIMEOUT -gt 0 ]]; do fi
STATUS=$(docker inspect --format '{{.State.Health.Status}}' "$CONTAINER_ID" 2>/dev/null) fi
sleep 2 sleep 2
((TIMEOUT--)) [[ $i -eq 30 ]] && msg_error "NPMplus container did not become healthy." && exit 1
done done
msg_ok "Builded NPMplus"
if [[ "$STATUS" != "healthy" ]]; then
msg_error "NPMplus container did not reach a healthy state."
fi
msg_ok "Started NPMplus"
motd_ssh motd_ssh
customize customize
msg_info "Get Default Login (Patience)" msg_info "Retrieving Default Login (Patience)"
TIMEOUT=60 for i in {1..60}; do
while [[ $TIMEOUT -gt 0 ]]; do
PASSWORD_LINE=$(docker logs "$CONTAINER_ID" 2>&1 | awk '/Creating a new user:/ {print; exit}') PASSWORD_LINE=$(docker logs "$CONTAINER_ID" 2>&1 | awk '/Creating a new user:/ {print; exit}')
if [[ -n "$PASSWORD_LINE" ]]; then if [[ -n "$PASSWORD_LINE" ]]; then
PASSWORD=$(echo "$PASSWORD_LINE" | awk -F 'password: ' '{print $2}') PASSWORD=$(echo "$PASSWORD_LINE" | awk -F 'password: ' '{print $2}')
echo -e "username: admin@example.org\npassword: $PASSWORD" >/opt/.npm_pwd echo -e "username: admin@example.org\npassword: $PASSWORD" >/opt/.npm_pwd
msg_ok "Saved default login to /opt/.npm_pwd" msg_ok "Saved default login to /opt/.npm_pwd"
break exit 0
fi fi
sleep 2 sleep 2
((TIMEOUT--)) [[ $i -eq 60 ]] && msg_error "Failed to retrieve default login credentials." && exit 1
done done
if [[ $TIMEOUT -eq 0 ]]; then
msg_error "Failed to retrieve default login credentials."
fi