diff --git a/README.md b/README.md index f86adee..745642f 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,19 @@ -# nas-scripts +# nas-ops -Scripts de gestion des mises à jour pour NAS sous OpenMediaVault 8. +Scripts de maintenance et de mise à jour pour NAS sous Debian / OpenMediaVault 8. + +Gère les mises à jour système (`apt`) et Docker (`docker compose`), avec deux modes : +- **Terminal interactif** : affichage coloré, confirmations +- **Non-interactif** (Home Assistant, cron) : output JSON ## Installation ```bash -cp nas-update-system nas-upgrade-system nas-docker-pull nas-docker-up nas-docker-prune nas-update /usr/local/bin/ -chmod +x /usr/local/bin/nas-update-system /usr/local/bin/nas-upgrade-system \ - /usr/local/bin/nas-docker-pull /usr/local/bin/nas-docker-up \ - /usr/local/bin/nas-docker-prune /usr/local/bin/nas-update +curl -fsSL https://raw.githubusercontent.com/GuiPoM/nas-ops/main/install.sh | bash ``` +Les scripts sont installés dans `/usr/local/bin/` et disponibles directement en ligne de commande. + ## Scripts ### `nas-update` diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..16f8991 --- /dev/null +++ b/install.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# install.sh — Install nas-ops scripts to /usr/local/bin +# Usage : curl -fsSL https://raw.githubusercontent.com/GuiPoM/nas-ops/main/install.sh | bash + +set -euo pipefail + +REPO="GuiPoM/nas-ops" +BRANCH="main" +BASE_URL="https://raw.githubusercontent.com/${REPO}/${BRANCH}" +INSTALL_DIR="/usr/local/bin" + +SCRIPTS=( + "nas-update-system" + "nas-upgrade-system" + "nas-docker-pull" + "nas-docker-up" + "nas-docker-prune" + "nas-update" +) + +# Colors +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +CYAN='\033[0;36m' +BOLD='\033[1m' +RESET='\033[0m' + +echo -e "${BOLD}======================================${RESET}" +echo -e "${BOLD} nas-ops — Installer ${RESET}" +echo -e "${BOLD}======================================${RESET}" +echo "" + +# Check root +if [ "$(id -u)" -ne 0 ]; then + echo -e "${RED}Error: this script must be run as root.${RESET}" + exit 1 +fi + +# Check dependencies +echo -e "${CYAN}Checking dependencies...${RESET}" +for cmd in curl docker; do + if command -v "$cmd" > /dev/null 2>&1; then + echo -e " ${GREEN}✅ ${cmd}${RESET}" + else + echo -e " ${YELLOW}⚠ ${cmd} not found — some scripts may not work${RESET}" + fi +done +echo "" + +# Download and install scripts +echo -e "${CYAN}Installing scripts to ${INSTALL_DIR}...${RESET}" +for script in "${SCRIPTS[@]}"; do + echo -ne " Downloading ${script}... " + if curl -fsSL "${BASE_URL}/${script}" -o "${INSTALL_DIR}/${script}"; then + chmod +x "${INSTALL_DIR}/${script}" + echo -e "${GREEN}✅${RESET}" + else + echo -e "${RED}❌ Failed${RESET}" + exit 1 + fi +done + +echo "" +echo -e "${GREEN}✅ Installation complete.${RESET}" +echo "" +echo -e "Available commands:" +for script in "${SCRIPTS[@]}"; do + echo -e " ${CYAN}${script}${RESET}" +done +echo "" +echo -e "Run ${BOLD}nas-update${RESET} to get started."