Files
infoscreen/test-vm-setup.sh
2025-10-10 15:20:14 +00:00

79 lines
1.8 KiB
Bash

#!/bin/bash
# Quick VM Setup Script für Infoscreen Deployment Test
echo "🧪 Infoscreen VM Test Setup"
echo "=========================="
# System Update
echo "📦 System aktualisieren..."
sudo apt update -y
sudo apt upgrade -y
# Docker Installation
echo "🐳 Docker installieren..."
sudo apt install -y docker.io docker-compose-plugin curl wget htop
# Docker aktivieren
sudo systemctl enable docker
sudo systemctl start docker
# User zu Docker-Gruppe hinzufügen
sudo usermod -aG docker $USER
# Firewall konfigurieren
echo "🔥 Firewall konfigurieren..."
sudo ufw --force enable
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
# Test-Verzeichnis erstellen
mkdir -p ~/infoscreen-test
cd ~/infoscreen-test
# Basis-Konfiguration erstellen
cat > docker-compose.test.yml << 'EOF'
version: '3.8'
services:
nginx:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./nginx-test.conf:/etc/nginx/nginx.conf:ro
test-api:
image: httpd:alpine
environment:
- TEST=true
EOF
cat > nginx-test.conf << 'EOF'
events {}
http {
server {
listen 80;
location / {
return 200 "✅ VM Test erfolgreich!\n";
add_header Content-Type text/plain;
}
}
}
EOF
echo ""
echo "✅ VM Setup abgeschlossen!"
echo ""
echo "Nächste Schritte:"
echo "1. Logout/Login für Docker-Gruppe"
echo "2. Test: docker run hello-world"
echo "3. Test: docker compose -f docker-compose.test.yml up -d"
echo "4. Test: curl http://localhost"
echo "5. Echtes Deployment: Dateien übertragen und starten"
echo ""
echo "🔍 System-Info:"
echo "Docker: $(docker --version)"
echo "Compose: $(docker compose version)"
echo "RAM: $(free -h | grep Mem | awk '{print $2}')"
echo "Disk: $(df -h / | tail -1 | awk '{print $4}') frei"