Sistema de gestión de correos para clientes de DevBossPanel.
Asegúrate de tener instalados los siguientes programas en tu entorno:
Sigue estos pasos para levantar el proyecto:
-
Clonar/Descargar el código: Asegúrate de estar en la carpeta del proyecto.
-
Configurar Variables de Entorno: Copia el archivo de ejemplo y configúralo (si no existe, crea uno nuevo):
cp .env.example .env
Nota: Como no hemos creado un .env.example explícito, puedes usar el que genera Laravel por defecto o crear uno con:
APP_NAME=DevBossMail APP_ENV=local APP_KEY=base64:TuKeyGeneradaAqui APP_DEBUG=true APP_URL=http://localhost:8000 DB_CONNECTION=mysql DB_HOST=db DB_PORT=3306 DB_DATABASE=devbossmail DB_USERNAME=root DB_PASSWORD=root REDIS_HOST=redis REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp MAIL_HOST=mailpit MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="${APP_NAME}"
-
Levantar Contenedores Docker: Ejecuta el siguiente comando para construir y levantar los servicios:
docker-compose up -d --build
-
Instalar Dependencias de PHP: Ejecuta este comando para instalar las librerías de Laravel dentro del contenedor:
docker-compose exec app composer install -
Generar Key de Aplicación:
docker-compose exec app php artisan key:generate -
Ejecutar Migraciones (Base de Datos): Crea las tablas en la base de datos:
docker-compose exec app php artisan migrate -
Acceder a la Aplicación:
- Web: http://localhost:8000
- Mailpit (Simulador de Correo): http://localhost:8025
-
Crear Admin: Puedes crear un admin manualmente en la base de datos o usar
tinker:docker-compose exec app php artisan tinkerLuego en la consola interactiva:
\App\Models\Admin::create(['username' => 'admin', 'email' => 'admin@devboss.com', 'password' => bcrypt('password')]);
-
Login: Ve a
/admin/loginy usa las credenciales creadas.
Para usar un proveedor real (Opción B), edita tu .env con las credenciales de Mailgun/Sendgrid/etc., o configura los valores en el panel de administración si implementaste la lectura dinámica desde la DB.