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>
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user