{"id":20651066,"url":"https://github.com/alejoasotelo/com_base","last_synced_at":"2026-04-05T22:04:12.369Z","repository":{"id":185534679,"uuid":"611806591","full_name":"alejoasotelo/com_base","owner":"alejoasotelo","description":"Entorno de desarrollo para componentes de Joomla! 3 con Docker","archived":false,"fork":false,"pushed_at":"2023-03-21T14:10:45.000Z","size":101,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-17T10:25:33.733Z","etag":null,"topics":["development-environment","docker","docker-compose","joomla","joomla-component-builder"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alejoasotelo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-03-09T15:29:35.000Z","updated_at":"2023-03-09T18:29:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"aad235cb-84a0-4a8d-81ae-0304cd4e248f","html_url":"https://github.com/alejoasotelo/com_base","commit_stats":null,"previous_names":["alejoasotelo/com_base"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alejoasotelo%2Fcom_base","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alejoasotelo%2Fcom_base/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alejoasotelo%2Fcom_base/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alejoasotelo%2Fcom_base/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alejoasotelo","download_url":"https://codeload.github.com/alejoasotelo/com_base/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242750782,"owners_count":20179256,"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":["development-environment","docker","docker-compose","joomla","joomla-component-builder"],"created_at":"2024-11-16T17:25:36.588Z","updated_at":"2025-12-31T00:48:32.939Z","avatar_url":"https://github.com/alejoasotelo.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Entorno de desarrollo para componentes Joomla! 3 con Docker\n\nEste proyecto tiene como objetivo proporcionar un entorno de desarrollo preconfigurado para la creación de componentes de Joomla! 3 utilizando Docker.\n\n## Requisitos\n\n- Docker\n- Docker Compose\n\n## Configuración\n\nEl archivo .env contiene varias variables que puedes editar para configurar el entorno de desarrollo. Algunas de las variables más importantes son:\n\n- `JOOMLA_DB_NAME`: El nombre de la base de datos.\n- `JOOMLA_DB_USER`: El usuario de la base de datos.\n- `JOOMLA_DB_PASSWORD`: La contraseña de la base de datos.\n\n## Instalación\n\n1. Clonar el repositorio: git clone https://github.com/alejoasotelo/com_base.git\n2. Ir al directorio del proyecto: cd com_base\n3. Copiar el archivo de ejemplo .env.dist y renombrarlo a .env: `cp .env.dist .env`\n4. Editar el archivo .env según tus necesidades.\n5. Iniciar el contenedor de Docker: `docker-compose up -d`\n6. Ir a `http://localhost` en el navegador. Seguir el paso 7 la primera vez, sino ya está para usar.\n\n### Solo la primera vez seguir estos pasos\n\n1. Instalar Joomla. En los datos de configuración poner:\n    - Hospedaje: `mysql`\n    - Usuario: el valor de la variable `JOOMLA_DB_USER` del archivo .env\n    - Contraseña: el valor de la variable `JOOMLA_DB_PASSWORD` del archivo .env\n    - Base de datos: el valor de la variable `JOOMLA_DB_NAME` del archivo .env\n    - ![Configuración Joomla 3 con Docker](./public/img/config-install.png)\n2. Ejecutar `php build/build-component.php` para generar el archivo  de instalación `dist/com_base.zip` del componente de la carpeta `component/`\n3. Instalar en Joomla el componente que se generó en la carpeta `dist/com_base.zip`\n4. Dar de baja docker: `docker-compose down`\n5. Descomentar las lineas 27 y 28 de docker-compose.yml (Las que empiezan por `# - ./component/admin` y `# - ./component/site`) para que docker lea los archivos del componente\n\n### Luego\n\nUna vez instalado el componente solo hay que levantar docker y empezar a desarrollar.\n\n1. Iniciar el contenedor de Docker: `docker-compose up -d`\n2. Modificar los archivos del componente en la carpeta `/component` y los cambios ya se reflejan en Joomla\n3. Disfrutar del proceso de desarrollo\n\n## Modo de uso\n\nUna vez que el contenedor esté en ejecución, puedes acceder a tu componente Joomla! en el navegador web utilizando la URL http://localhost/.\n\nEn la carpeta `component` hay un component base generado con `https://github.com/alejoasotelo/joomla-scaffolding/`. Es de ejemplo, eliminar y generar uno nuevo.\nLa estructura:\n\n- `component`\n  - `admin`: archivos y carpetas del backend del componente\n  - `site`: archivos y carpetas del frontend del componente\n  - `base.xml`: archivo de instalación (cuando generas tu component este archivo va a tener el nombre que le hayas puesto a tu componente)\n  \nRecomiendo usar `joomla-scaffolding` para crear el component inicial y ir agregando los MVC que se vayan necesitando. De esta manera se evitar tener que desarrollar tareas repetitivas como lo es crear los MVC (modelo-vista-controlador).\n\n## Build com_base.zip\n\nUna vez que se quiera deployar el proyecto ejecutamos `php build/build-component.php` desde el root del proyecto y nos va a generar el archivo de instalación `dist/com_base.zip`.\nEste zip se instala en nuestro Joomla y listo, componente deployado. Es un deploy manual por el momento.\n\n## Personalización\n\nPuedes personalizar el entorno de desarrollo para satisfacer tus necesidades específicas editando los archivos docker-compose.yml y Dockerfile.\n\n## Errores comunes\n\n- `Bind for 0.0.0.0:3306 failed: port is already allocate`: revisar no tener algún proceso que esté ocupando el puerto 3306. Algún mysql corriendo de algun xampp/wampp, otro docker quizas? Lo mismo aplica para el puerto 80 (revisar apache, httpd, etc).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falejoasotelo%2Fcom_base","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falejoasotelo%2Fcom_base","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falejoasotelo%2Fcom_base/lists"}