#!/bin/bash source ./enviroment/envireoment.env source ./enviroment/secret.env # Variablen WEBDAV_USER="$ENV_WEBDAV_BENUTZER" WEBDAV_PASS="$ENV_WEBDAV_PASSWORD" WEBDAV_URL="$ENV_WEBDAV_URL" RCLONE_CONFIG="$ENV_RCLONE_CONF" # Farben für die Ausgabe GREEN="\033[0;32m" RED="\033[0;31m" NC="\033[0m" # Keine Farbe # Funktion zur Ausgabe von Meldungen function log() { echo -e "${GREEN}[INFO] $1${NC}" } function error() { echo -e "${RED}[ERROR] $1${NC}" } # Sicherstellen, dass das Skript als root ausgeführt wird if [[ $EUID -ne 0 ]]; then error "Dieses Skript muss als root ausgeführt werden!" exit 1 fi # Installiere rclone, falls nicht vorhanden if ! command -v rclone &> /dev/null; then log "rclone wird installiert..." apt update && apt install -y rclone || { error "Fehler bei der Installation von rclone!"; exit 1; } else log "rclone ist bereits installiert." fi # Verschlüsseltes Passwort generieren log "Verschlüssele das WebDAV-Passwort..." ENCRYPTED_PASSWORD=$(rclone obscure "$WEBDAV_PASS") if [[ -z "$ENCRYPTED_PASSWORD" ]]; then error "Fehler beim Verschlüsseln des Passworts!" exit 1 fi # Rclone-Konfigurationsdatei erstellen log "Erstelle die rclone-Konfigurationsdatei..." mkdir -p "$(dirname "$RCLONE_CONFIG")" cat < "$RCLONE_CONFIG" [webdav] type = webdav url = $WEBDAV_URL vendor = other user = $WEBDAV_USER pass = $ENCRYPTED_PASSWORD EOF chmod 600 "$RCLONE_CONFIG" log "rclone-Konfiguration gespeichert unter $RCLONE_CONFIG." log "Vorbereitungen abgeschlossen"