diff --git a/setup.sh b/setup.sh index b91f5d7..791527f 100755 --- a/setup.sh +++ b/setup.sh @@ -112,34 +112,52 @@ fi echo "✅ Repository bereit" # ═══════════════════════════════════════ -# SCHRITT 7 — .env kopieren +# SCHRITT 7 — .env vom lokalen Server holen # ═══════════════════════════════════════ ENV_FILE="/home/$USER/aziros/src/.env" -if [ "$MODE" = "development" ]; then - SRC_ENV=".env.development" -elif [ "$MODE" = "staging" ]; then - SRC_ENV=".env.staging" -else - SRC_ENV=".env.production" -fi - if [ ! -f "$ENV_FILE" ]; then + echo "" + echo "→ .env wird vom lokalen Server geholt..." + echo "" + read -p "Lokale Server IP: " LOCAL_IP + read -p "Lokaler User (z.B. nexxo): " LOCAL_USER + + if [ "$MODE" = "staging" ]; then + SRC_ENV=".env.staging" + elif [ "$MODE" = "development" ]; then + SRC_ENV=".env.development" + else + SRC_ENV=".env.production" + fi + + # SSH Key erstellen falls nicht vorhanden: + if [ ! -f "/home/$USER/.ssh/id_ed25519" ]; then + echo "→ SSH Key wird erstellt..." + sudo -u $USER ssh-keygen -t ed25519 \ + -f /home/$USER/.ssh/id_ed25519 \ + -N "" -C "$MODE@aziros" + fi + echo "" echo "╔══════════════════════════════════════╗" - echo "║ .env fehlt — bitte jetzt kopieren ║" + echo "║ SSH Key auf lokalem Server eintragen ║" echo "╚══════════════════════════════════════╝" echo "" echo "Führe auf dem lokalen Server aus:" echo "" - echo " scp ~/aziros/src/$SRC_ENV \\" - SERVER_IP=$(hostname -I | awk '{print $1}') - echo " $USER@$SERVER_IP:~/aziros/src/.env" + echo " echo \"$(cat /home/$USER/.ssh/id_ed25519.pub)\" \\" + echo " >> ~/.ssh/authorized_keys" echo "" - read -p "Drücke ENTER wenn .env kopiert wurde..." + read -p "Drücke ENTER wenn Key hinzugefügt wurde..." + + # .env holen: + sudo -u $USER scp \ + $LOCAL_USER@$LOCAL_IP:~/aziros/src/$SRC_ENV \ + $ENV_FILE if [ ! -f "$ENV_FILE" ]; then - echo "❌ .env fehlt — Abbruch" + echo "❌ .env konnte nicht geholt werden" exit 1 fi fi