59 lines
1.6 KiB
Bash
59 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# --- Konfiguration ---
|
|
REPO_NAME="appRobotControlScara"
|
|
REPO_URL="http://thinkcentre.local:3000/ChK/appRobotControlScara.git"
|
|
TARGET_DIR="/home/chk/Documents/appRobotControlScara"
|
|
|
|
|
|
|
|
echo "[1/6] Pakete aktualisieren & Git installieren..."
|
|
sudo apt-get update -y
|
|
sudo apt-get install -y git ca-certificates curl
|
|
|
|
echo "[2/6] Docker & Compose installieren (falls nicht vorhanden)..."
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
curl -fsSL https://get.docker.com | sudo sh
|
|
sudo usermod -aG docker "$USER"
|
|
echo ">> Ab- und wieder anmelden, damit die docker-Gruppe aktiv wird (oder 'newgrp docker')."
|
|
fi
|
|
|
|
# Compose-Plugin prüfen/holen (bei Debian/Raspbian Bullseye/Bookworm meist verfügbar)
|
|
if ! docker compose version >/dev/null 2>&1; then
|
|
echo "Docker Compose Plugin scheint zu fehlen. Bitte OS-spezifisch nachinstallieren."
|
|
echo "Bei Raspberry Pi OS: 'sudo apt-get install -y docker-compose-plugin'"
|
|
fi
|
|
|
|
echo "[3/6] Zielverzeichnis vorbereiten: ${TARGET_DIR}"
|
|
sudo mkdir -p "${TARGET_DIR}"
|
|
sudo chown -R "$USER":"$USER" "${TARGET_DIR}"
|
|
|
|
echo "[4/6] Repository klonen/aktualisieren..."
|
|
if [ -d "${TARGET_DIR}/.git" ]; then
|
|
cd "${TARGET_DIR}"
|
|
git fetch --all
|
|
git pull --ff-only
|
|
else
|
|
git clone "${REPO_URL}" "${TARGET_DIR}"
|
|
cd "${TARGET_DIR}"
|
|
fi
|
|
|
|
echo "[5/6] .env optional anlegen (falls gewünscht)..."
|
|
if [ ! -f ".env" ]; then
|
|
cat > .env <<EOF
|
|
FluidNcHost=fluidncred.local
|
|
FluidNcPort=80
|
|
PORT=3000
|
|
EOF
|
|
echo ">> .env erstellt (Standardwerte)."
|
|
fi
|
|
|
|
|
|
echo "[6/6] Certs erstellen"
|
|
|
|
chmod +x scripts/create_certs.sh
|
|
./scripts/create_certs.sh
|
|
|
|
|
|
echo "Docker in portainer eintragen" |