https://github.com/alejoasotelo/com_base
Entorno de desarrollo para componentes de Joomla! 3 con Docker
https://github.com/alejoasotelo/com_base
development-environment docker docker-compose joomla joomla-component-builder
Last synced: 3 months ago
JSON representation
Entorno de desarrollo para componentes de Joomla! 3 con Docker
- Host: GitHub
- URL: https://github.com/alejoasotelo/com_base
- Owner: alejoasotelo
- Created: 2023-03-09T15:29:35.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-21T14:10:45.000Z (over 3 years ago)
- Last Synced: 2025-01-17T10:25:33.733Z (over 1 year ago)
- Topics: development-environment, docker, docker-compose, joomla, joomla-component-builder
- Language: PHP
- Homepage:
- Size: 98.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Entorno de desarrollo para componentes Joomla! 3 con Docker
Este proyecto tiene como objetivo proporcionar un entorno de desarrollo preconfigurado para la creación de componentes de Joomla! 3 utilizando Docker.
## Requisitos
- Docker
- Docker Compose
## Configuración
El archivo .env contiene varias variables que puedes editar para configurar el entorno de desarrollo. Algunas de las variables más importantes son:
- `JOOMLA_DB_NAME`: El nombre de la base de datos.
- `JOOMLA_DB_USER`: El usuario de la base de datos.
- `JOOMLA_DB_PASSWORD`: La contraseña de la base de datos.
## Instalación
1. Clonar el repositorio: git clone https://github.com/alejoasotelo/com_base.git
2. Ir al directorio del proyecto: cd com_base
3. Copiar el archivo de ejemplo .env.dist y renombrarlo a .env: `cp .env.dist .env`
4. Editar el archivo .env según tus necesidades.
5. Iniciar el contenedor de Docker: `docker-compose up -d`
6. Ir a `http://localhost` en el navegador. Seguir el paso 7 la primera vez, sino ya está para usar.
### Solo la primera vez seguir estos pasos
1. Instalar Joomla. En los datos de configuración poner:
- Hospedaje: `mysql`
- Usuario: el valor de la variable `JOOMLA_DB_USER` del archivo .env
- Contraseña: el valor de la variable `JOOMLA_DB_PASSWORD` del archivo .env
- Base de datos: el valor de la variable `JOOMLA_DB_NAME` del archivo .env
- 
2. Ejecutar `php build/build-component.php` para generar el archivo de instalación `dist/com_base.zip` del componente de la carpeta `component/`
3. Instalar en Joomla el componente que se generó en la carpeta `dist/com_base.zip`
4. Dar de baja docker: `docker-compose down`
5. 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
### Luego
Una vez instalado el componente solo hay que levantar docker y empezar a desarrollar.
1. Iniciar el contenedor de Docker: `docker-compose up -d`
2. Modificar los archivos del componente en la carpeta `/component` y los cambios ya se reflejan en Joomla
3. Disfrutar del proceso de desarrollo
## Modo de uso
Una vez que el contenedor esté en ejecución, puedes acceder a tu componente Joomla! en el navegador web utilizando la URL http://localhost/.
En la carpeta `component` hay un component base generado con `https://github.com/alejoasotelo/joomla-scaffolding/`. Es de ejemplo, eliminar y generar uno nuevo.
La estructura:
- `component`
- `admin`: archivos y carpetas del backend del componente
- `site`: archivos y carpetas del frontend del componente
- `base.xml`: archivo de instalación (cuando generas tu component este archivo va a tener el nombre que le hayas puesto a tu componente)
Recomiendo 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).
## Build com_base.zip
Una 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`.
Este zip se instala en nuestro Joomla y listo, componente deployado. Es un deploy manual por el momento.
## Personalización
Puedes personalizar el entorno de desarrollo para satisfacer tus necesidades específicas editando los archivos docker-compose.yml y Dockerfile.
## Errores comunes
- `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).