{"id":24839161,"url":"https://github.com/hecalderong/laravel-docker","last_synced_at":"2026-04-05T20:32:58.266Z","repository":{"id":272694960,"uuid":"917457653","full_name":"hecalderong/laravel-docker","owner":"hecalderong","description":"Este proyecto proporciona un entorno de desarrollo completo para Laravel usando Docker, con todos los servicios necesarios configurados y listos para usar.","archived":false,"fork":false,"pushed_at":"2025-01-16T10:31:51.000Z","size":46,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-31T06:37:42.850Z","etag":null,"topics":["docker","docker-compose","laravel","laravel-framework","mysql","nginx"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hecalderong.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-16T02:49:06.000Z","updated_at":"2025-01-17T17:48:20.000Z","dependencies_parsed_at":"2025-01-16T04:20:54.627Z","dependency_job_id":"22aec570-9d4a-448d-ab3d-d6c304f23a47","html_url":"https://github.com/hecalderong/laravel-docker","commit_stats":null,"previous_names":["hecalderong/laravel-docker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hecalderong%2Flaravel-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hecalderong%2Flaravel-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hecalderong%2Flaravel-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hecalderong%2Flaravel-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hecalderong","download_url":"https://codeload.github.com/hecalderong/laravel-docker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245589267,"owners_count":20640255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","laravel","laravel-framework","mysql","nginx"],"created_at":"2025-01-31T06:36:52.672Z","updated_at":"2025-12-30T23:24:53.986Z","avatar_url":"https://github.com/hecalderong.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/hecalderong/laravel-docker/blob/main/images/dockerizando-laravel.webp\" alt=\"Dockerizando Laravel\" width=\"100%\"\u003e\n\n# Laravel Docker Development Environment\n\nEste proyecto proporciona un entorno de desarrollo completo para Laravel usando Docker, con todos los servicios necesarios configurados y listos para usar.\n\n## 📋 Tabla de Contenidos\n\n- [Requisitos Previos](#requisitos-previos)\n- [Estructura del Proyecto](#estructura-del-proyecto)\n- [Servicios Incluidos](#servicios-incluidos)\n- [Configuración Inicial](#configuración-inicial)\n- [Uso](#uso)\n- [Configuración de Servicios](#configuración-de-servicios)\n- [Comandos Útiles](#comandos-útiles)\n- [Solución de Problemas](#solución-de-problemas)\n\n## 🔧 Requisitos Previos\n\n- Docker (versión 20.10 o superior)\n- Docker Compose (versión 2.0 o superior)\n- Git (opcional)\n\n## 📁 Estructura del Proyecto\n\n```\nproyecto/\n├── docker/\n│   ├── nginx/\n│   │   └── conf.d/\n│   │       └── app.conf\n│   └── init.sh\n├── src/                 # Código fuente de Laravel\n├── docker-compose.yml\n└── Dockerfile\n```\n\n## 🚀 Servicios Incluidos\n\n### 1. Aplicación Laravel (PHP-FPM)\n- PHP 8.2 con FPM\n- Composer preinstalado\n- Extensiones PHP necesarias configuradas\n- Volumen persistente para el código fuente\n\n### 2. Nginx\n- Servidor web configurado para Laravel\n- Proxy inverso\n- Configuración optimizada para PHP-FPM\n- Puerto: 8000 (configurable)\n\n### 3. MySQL\n- Versión: 8.0\n- Persistencia de datos configurada\n- Puerto: 3306\n- Credenciales configurables\n\n### 4. PHPMyAdmin\n- Interfaz web para administración de MySQL\n- Puerto: 8080 (configurable)\n- Acceso directo a la base de datos\n\n## ⚙️ Configuración Inicial\n\n1. Clona el repositorio o crea la estructura de directorios:\n```bash\nmkdir -p mi-proyecto/docker/nginx/conf.d\ncd mi-proyecto\n```\n\n2. Copia los archivos de configuración proporcionados:\n- `docker-compose.yml` en la raíz\n- `Dockerfile` en la raíz\n- `app.conf` en `docker/nginx/conf.d/`\n- `init.sh` en `docker/`\n\n3. Asegúrate que el script de inicio tenga permisos de ejecución:\n```bash\nchmod +x docker/init.sh\n```\n\n## 🚀 Uso\n\n### Primera Ejecución\n\n```bash\ndocker-compose up --build -d\n```\n\nEste comando:\n1. Construirá las imágenes necesarias\n2. Creará un nuevo proyecto Laravel si no existe\n3. Instalará las dependencias\n4. Iniciará todos los servicios\n\n### Ejecuciones Posteriores\n\n```bash\ndocker-compose up -d\n```\n\n### Detener los Servicios\n\n```bash\ndocker-compose down\n```\n\n## 🔧 Configuración de Servicios\n\n### Laravel\n- Ubicación del código: `./src`\n- URL: `http://localhost:8000`\n\n### MySQL\n- Host: `db`\n- Puerto: `3306`\n- Base de datos: `laravel_db`\n- Usuario: `laravel_user`\n- Contraseña: `user_password`\n- Root Password: `root_password`\n\n### PHPMyAdmin\n- URL: `http://localhost:8080`\n- Usuario: `laravel_user`\n- Contraseña: `user_password`\n\n## 📝 Comandos Útiles\n\n### Acceder al Contenedor de Laravel\n```bash\ndocker-compose exec app bash\n```\n\n### Ejecutar Artisan\n```bash\ndocker-compose exec app php artisan [comando]\n```\n\n### Ver Logs\n```bash\ndocker-compose logs -f [servicio]\n```\n\n### Reconstruir Contenedores\n```bash\ndocker-compose up --build -d\n```\n\n## 🔍 Solución de Problemas\n\n### Problemas de Permisos\nSi encuentras problemas de permisos:\n```bash\nsudo chown -R $USER:$USER src/\nchmod -R 755 src/storage src/bootstrap/cache\n```\n\n### Error de Conexión a MySQL\nSi la aplicación no puede conectar a MySQL:\n1. Verifica que el servicio esté corriendo:\n```bash\ndocker-compose ps\n```\n2. Comprueba las credenciales en el `.env`\n3. Asegúrate que el host sea `db` en la configuración\n\n### Errores de Composer\nSi hay problemas con Composer:\n```bash\ndocker-compose exec app composer install --no-scripts\ndocker-compose exec app composer dump-autoload\n```\n\n## 🔒 Seguridad\n\n- Cambia las contraseñas por defecto antes de usar en producción\n- Revisa los permisos de los archivos\n- Actualiza regularmente las imágenes de Docker\n- No exponer los puertos de MySQL en producción\n\n## 📦 Personalización\n\n### Modificar Puertos\nEn `docker-compose.yml`:\n```yaml\nports:\n  - \"nuevo_puerto:80\"  # Para nginx\n  - \"nuevo_puerto:80\"  # Para phpmyadmin\n```\n\n### Añadir Extensiones PHP\nEn `Dockerfile`:\n```dockerfile\nRUN docker-php-ext-install nombre_extension\n```\n\n### Modificar Configuración de Nginx\nEdita `docker/nginx/conf.d/app.conf`\n\n## 🤝 Contribuir\n\n1. Fork el proyecto\n2. Crea una rama para tu feature\n3. Commit tus cambios\n4. Push a la rama\n5. Abre un Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhecalderong%2Flaravel-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhecalderong%2Flaravel-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhecalderong%2Flaravel-docker/lists"}