You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.2 KiB
54 lines
1.2 KiB
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
echo "🔧 System wird aktualisiert..."
|
|
apt update && apt upgrade -y
|
|
|
|
echo "📦 Node.js & nginx installieren..."
|
|
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
|
|
apt install -y nodejs nginx git
|
|
|
|
echo "📁 Verzeichnisstruktur anlegen..."
|
|
mkdir -p /opt/myday
|
|
cd /opt/myday
|
|
|
|
echo "📥 Repo klonen..."
|
|
git clone https://git.samuelzielke.de/samuelzielke/myday.git .
|
|
cd frontend
|
|
|
|
echo "📄 Umgebungsvariablen definieren..."
|
|
cat <<EOF > .env.production
|
|
REACT_APP_API_URL=/api
|
|
EOF
|
|
|
|
echo "📦 Abhängigkeiten installieren und Build starten..."
|
|
npm install
|
|
npm run build
|
|
|
|
echo "🗂️ Build nach /var/www/myday kopieren..."
|
|
mkdir -p /var/www/myday
|
|
cp -r build/* /var/www/myday/
|
|
|
|
echo "⚙️ Nginx konfigurieren..."
|
|
cat <<EOF > /etc/nginx/sites-available/myday
|
|
server {
|
|
listen 80;
|
|
server_name myday.samuelzielke.de;
|
|
|
|
root /var/www/myday;
|
|
index index.html;
|
|
|
|
location / {
|
|
try_files \$uri /index.html;
|
|
}
|
|
}
|
|
EOF
|
|
|
|
ln -sf /etc/nginx/sites-available/myday /etc/nginx/sites-enabled/myday
|
|
rm -f /etc/nginx/sites-enabled/default
|
|
|
|
echo "🔁 Nginx neu starten..."
|
|
systemctl restart nginx
|
|
|
|
echo "✅ Setup abgeschlossen! Bitte stelle sicher, dass dein Backend auf Port 3001 läuft." |