Cuenta y Bootstrap
Hay dos formas de empezar con Nexo SaaS.
A. Semilla de base de datos (primer arranque típico de Docker)
docker compose -f deploy/docker-compose.yml exec app php artisan db:seed --force
Crea (entre otras cosas):
- Administrador de la plataforma [email protected] / contraseña con correo ya verificado
- Prueba de cliente [email protected]
- Catálogo de muestra (paquetes, módulos, complementos)
- Configuración predeterminada del host + plataforma
Apto para evaluación local. Cambia las contraseñas y los correos electrónicos antes de cualquier entorno compartido.
B. Registro de base de datos vacía (estilo producción)
- Abrir /register.
- Crea la primera cuenta.
- Si aún no existe ningún administrador de la plataforma, ese usuario se promociona automáticamente a administrador de la plataforma y recibe una organización personal.
- La aplicación redirige a la verificación de correo electrónico (/verify-email).
Hasta que el correo electrónico sea verificado, el usuario no puede usar el panel ni el área de administración (middleware de autenticación + verificación).
Verificación de correo electrónico sin SMTP
Se requiere SMTP para el correo de producción (enlaces de verificación, facturas, notificaciones de implementación). En la primera instalación, a menudo configura SMTP después de crear la cuenta de administrador.
Artesano: verifica un usuario por correo electrónico
# Docker
docker compose -f deploy/docker-compose.yml exec app \
php artisan platform:verify-user [email protected]
# Bare metal / VPS app directory
php artisan platform:verify-user [email protected]
Comportamiento:
- Establece email_verified_at a ahora (idempotente si ya está verificado).
- Escribe un registro de auditoría (auth.email_verified, mediante artisan).
- Opcional: --unverify borra la verificación (solo para pruebas).
Luego inicia sesión y continúa al panel de control.
Advertencia: Cualquier persona con acceso a la shell al contenedor de la aplicación puede verificar cualquier correo electrónico. Restringe el acceso SSH/despliegue como si fuera cualquier secreto de nivel producción.
Después de configurar SMTP
Prefiere los correos electrónicos de verificación normales (reenviar desde la pantalla de verificación). Mantén platform:verify-user como recuperación de emergencia de arranque/soporte.
Obtén más información sobre la configuración de SMTP.
Privilegios de administrador de la plataforma
| Capability | Platform admin | Org member |
|---|---|---|
| Admin → Settings, Catalog, Refunds, Users | Yes | No |
| Horizon (queue UI) | Yes (with 2FA policy) | No |
| Manage any installation | Yes (admin tools) | Own org only |
| Checkout / org billing | Via membership | Yes (role-dependent) |
Promover o degradar
php artisan platform:promote-admin [email protected]
php artisan platform:promote-admin [email protected] --demote
- No se puede degradar al último administrador de la plataforma.
- Fuera del ámbito local, los administradores de la plataforma deben habilitar 2FA antes de que funcione /dashboard/admin.
Política de 2FA
| Audience | Policy |
|---|---|
| Platform admins (non-local) | Required for admin routes |
| Customers | Optional when Admin → Settings → General → Two-factor available is enabled |
Cuentas de clientes y organizaciones
Al registrarse (cualquier usuario):
- Se crea la fila del usuario.
- Se crea una organización personal con el usuario como propietario.
- Los límites de asientos/instalación provienen de Admin → Settings → Deployments (default_max_seats, default_max_installations).
Las organizaciones del equipo, las invitaciones y los roles se cubren en 05 — Facturación, orgs y reembolsos.
Secuencia de arranque de producción recomendada
- Implementar stack
- O bien siembra y luego cambia las credenciales de administrador, o registra el correo electrónico real del operador en una base de datos vacía.
- plataforma:verificar-usuario operador@… si el correo no está listo.
- Habilitar la 2FA para el administrador.
- Configura SMTP en Admin → Configuración
- Configurar pagos, dominio, GitHub, S3
- php artisan platform:launch-check.
- Opcionalmente, plataforma:promote-admin, operadores adicionales; verifica cada correo electrónico.