📦 Proyecto M8 – Laravel 11 + Docker (Alpine)
Este proyecto implementa una arquitectura completa para desplegar una aplicación Laravel 11.x utilizando contenedores Docker basados en Alpine. La solución está dividida en servicios independientes que se comunican entre sí en red Docker:
- 💡 PHP-FPM para ejecutar Laravel
- 🐬 MySQL (MariaDB) para la base de datos
- 🌐 NGINX como servidor web
- 🧱 Laravel Breeze para autenticación básica
- 📝 MkDocs para documentar todo el entorno
- 🌐 GitLab Pages como despliegue de la documentación
🗂️ Servicios y tecnologías utilizadas
Servicio | Descripción | Tecnología |
---|---|---|
Laravel | Framework PHP 11.x + Breeze | PHP 8.4 / Composer |
PHP-FPM | Interprete PHP en background | PHP-FPM 8.4 |
MySQL | Base de datos persistente | MariaDB en Alpine |
Nginx | Servidor web reverse proxy | Nginx en Alpine |
Docker | Entorno de contenedores aislado | Docker Compose |
MkDocs | Generador de documentación estática | Tema Material |
GitLab Pages | Publicación automática de documentación | CI/CD GitLab |
📷
📚 Documentación por secciones
Accede a la documentación específica de cada parte del proyecto:
- 🔧 Docker: estructura y servicios
- 🚀 Laravel + PHP-FPM (en Docker y entorno real)
- 🐬 MySQL: instalación, configuración y conexión
- 🌐 NGINX: integración con Laravel y gestión de errores
- 📖 MkDocs + GitLab Pages: despliegue de la documentación
📷
✅ Objetivos del Proyecto
Este proyecto busca cumplir los siguientes objetivos didácticos del módulo M8:
- Desplegar correctamente Laravel sin Sail ni imágenes externas.
- Configurar manualmente PHP-FPM, Nginx y MySQL sobre Alpine Linux.
- Validar el correcto funcionamiento de Laravel con errores gestionados.
- Automatizar la documentación usando Git y GitLab Pages.
🔄 Instrucciones rápidas para levantar el proyecto
docker compose down -v # Limpia todo
docker compose up -d --build
````
Verifica en tu navegador:
http://localhost:8080 ```