Files
denshooter 5bc81d5b3b Initial commit: nightly iOS app + Supabase backend
iOS SwiftUI app with Supabase auth/realtime, Node.js backend,
Docker/Supabase self-hosted infrastructure, and APNs scheduler.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 23:31:38 +02:00

64 lines
2.1 KiB
Bash

#!/usr/bin/env bash
# nightly — Server-Setup-Skript
# Führe das auf deinem Server aus: bash setup.sh
set -euo pipefail
DOMAIN="${1:-xxx.dk0.dev}" # Ersetze xxx mit deinem App-Namen
APP_DIR="/opt/nightly"
echo "▶ nightly setup für $DOMAIN"
# --- Abhängigkeiten ---
if ! command -v docker &>/dev/null; then
echo "▶ Docker installieren..."
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker "$USER"
fi
# --- Verzeichnis anlegen ---
sudo mkdir -p "$APP_DIR"
sudo chown "$USER:$USER" "$APP_DIR"
cd "$APP_DIR"
# --- Offizielles Supabase-Docker-Setup holen ---
if [ ! -d supabase ]; then
echo "▶ Supabase Docker-Konfiguration laden..."
git clone --depth 1 https://github.com/supabase/supabase.git supabase-repo
cp -r supabase-repo/docker supabase
rm -rf supabase-repo
fi
# --- Unsere Konfiguration kopieren ---
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cp "$SCRIPT_DIR/docker-compose.override.yml" "$APP_DIR/supabase/"
cp "$SCRIPT_DIR/Caddyfile" "$APP_DIR/supabase/"
cp -r "$SCRIPT_DIR/scheduler" "$APP_DIR/supabase/"
# --- .env anlegen wenn nicht vorhanden ---
if [ ! -f "$APP_DIR/supabase/.env" ]; then
cp "$APP_DIR/supabase/.env.example" "$APP_DIR/supabase/.env"
cp "$SCRIPT_DIR/.env.nightly" "$APP_DIR/supabase/.env.nightly"
echo ""
echo "⚠️ WICHTIG: Editiere $APP_DIR/supabase/.env und .env.nightly"
echo " Setze mindestens:"
echo " - POSTGRES_PASSWORD"
echo " - JWT_SECRET (min. 32 Zeichen)"
echo " - SITE_URL=https://api.$DOMAIN"
echo ""
echo " Dann: cd $APP_DIR/supabase && docker compose -f docker-compose.yml -f docker-compose.override.yml up -d"
exit 0
fi
# --- Migrations einspielen ---
echo "▶ Datenbank-Schema einspielen..."
# Warte auf Postgres
until docker compose exec -T db pg_isready -U postgres; do sleep 2; done
docker compose exec -T db psql -U postgres -d postgres \
< "$SCRIPT_DIR/migrations/001_schema.sql"
echo ""
echo "✅ Setup abgeschlossen!"
echo " Admin: https://studio.$DOMAIN"
echo " API: https://api.$DOMAIN"
echo " Logs: docker compose logs -f"