feat: CRM Clinicas SaaS - MVP completo
- Auth: Login/Register con creacion de clinica - Dashboard: KPIs reales, graficas recharts - Pacientes: CRUD completo con busqueda - Agenda: FullCalendar, drag-and-drop, vista recepcion - Expediente: Notas SOAP, signos vitales, CIE-10 - Facturacion: Facturas con IVA, campos CFDI SAT - Inventario: Productos, stock, movimientos, alertas - Configuracion: Clinica, equipo, catalogo servicios - Supabase self-hosted: 18 tablas con RLS multi-tenant - Docker + Nginx para produccion Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
43
scripts/deploy.sh
Executable file
43
scripts/deploy.sh
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
# CRM Clinicas — Production Deployment Script
|
||||
# Usage: ./scripts/deploy.sh
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
echo "=== CRM Clinicas — Deploy ==="
|
||||
|
||||
# 1. Build Next.js Docker image
|
||||
echo "[1/4] Building Next.js Docker image..."
|
||||
docker build -t crm-clinicas-app:latest -f Dockerfile .
|
||||
|
||||
# 2. Ensure Supabase is running
|
||||
echo "[2/4] Checking Supabase stack..."
|
||||
cd docker
|
||||
docker compose --env-file .env.supabase up -d
|
||||
cd ..
|
||||
|
||||
# 3. Run migrations
|
||||
echo "[3/4] Running database migrations..."
|
||||
for f in supabase/migrations/*.sql; do
|
||||
echo " -> $f"
|
||||
cat "$f" | docker exec -i -e PGPASSWORD=CrmCl1n1c4s2026SecretPwd docker-db-1 psql -U supabase_admin -d postgres > /dev/null 2>&1 || true
|
||||
done
|
||||
|
||||
# 4. Start/restart Next.js
|
||||
echo "[4/4] Starting Next.js app..."
|
||||
docker stop crm-app 2>/dev/null || true
|
||||
docker rm crm-app 2>/dev/null || true
|
||||
docker run -d \
|
||||
--name crm-app \
|
||||
--network docker_default \
|
||||
-p 3000:3000 \
|
||||
-e NEXT_PUBLIC_SUPABASE_URL=http://kong:8000 \
|
||||
-e NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0 \
|
||||
-e SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImV4cCI6MTk4MzgxMjk5Nn0.EGIM96RAZx35lJzdJsyH-qQwv8Hdp7fsn3W0YpN81IU \
|
||||
crm-clinicas-app:latest
|
||||
|
||||
echo ""
|
||||
echo "=== Deploy complete ==="
|
||||
echo " App: http://localhost:3000"
|
||||
echo " Studio: http://localhost:3001"
|
||||
echo " API: http://localhost:8000"
|
||||
Reference in New Issue
Block a user