License: ISC

Este proyecto proporciona una manera automatizada de instalar y ejecutar PrestaShop usando Docker. Incluye un script de instalación CLI, un Dockerfile y un archivo docker-compose.yml para configurar un entorno completo de PrestaShop con MySQL y phpMyAdmin.

Descárgalo desde GitHub

https://github.com/kaisarcode/prestashop-docker-installer


Características

  • Instalación automatizada: Descarga e instala la versión especificada de PrestaShop.
  • Entorno personalizable: Configura los ajustes de PrestaShop a través del archivo .env.
  • Configuración con Docker: Incluye contenedores de MySQL, phpMyAdmin y Apache.
  • Base de datos de geolocalización incluida: Viene con la base de datos GeoLite2 para soporte de geolocalización.
  • Directorio de administración seguro: Renombra el directorio de administración para mayor seguridad.

Requisitos previos

Asegúrate de tener instalado:


Comenzando

1. Clona el repositorio

git clone git@github.com:kaisarcode/prestashop-docker-installer.git
cd prestashop-docker-installer

2. Configura las variables de entorno

Edita el archivo .env existente para ajustar la configuración a tus necesidades. Algunos ejemplos de variables incluyen:

PROJID="mystore"
PSVERSION=8.2.1

PSCONTAINER="ps_${PROJID}"
DBCONTAINER="db_${PROJID}"
MACONTAINER="ma_${PROJID}"

PSPORT=8888
DBPORT=3307
MAPORT=9999

DBNAME="prestashop"
DBPASS="admin"
DBPREFIX="ps_"

PSDOMAIN="localhost"
PSLANG="es"
PSNAME="MyStore"
PSEMAIL="demo@prestashop.com"
PSPASS="demodemo"
PSADMINDIR="admin123"

3. Ejecuta el script de instalación

Asegúrate de que el script de instalación sea ejecutable:

chmod +x installer.sh

Ejecuta el instalador:

./installer.sh

Este script hará lo siguiente:

  • Limpiar cualquier instalación previa.
  • Descargar y descomprimir la versión especificada de PrestaShop.
  • Construir y arrancar los contenedores Docker.
  • Instalar PrestaShop vía CLI con tu configuración.
  • Renombrar el directorio de administración.
  • Instalar la base de datos de geolocalización GeoLite2.
  • Establecer los permisos adecuados.

Accediendo a tu entorno PrestaShop


Estructura del proyecto

.
├── assets/                  # Recursos adicionales (incluye base de datos GeoLite2)
├── www/                     # Archivos fuente de PrestaShop (Autogenerados)
├── installer.sh             # Script de instalación
├── Dockerfile               # Dockerfile para el contenedor de PrestaShop
├── docker-compose.yml       # Configuración de Docker Compose
└── .env                     # Configuración de variables de entorno

Personalización

  • Versión de PHP: Cambia el ARG PHP_VERSION en el Dockerfile para usar otra versión de PHP.
  • Directorio de administración: Modifica PSADMINDIR en .env para renombrar la carpeta admin por seguridad.
  • Puertos y contenedores: Ajusta los puertos y nombres de contenedores en .env según necesites.

Solución de problemas

  • La base de datos no inicia: Verifica que el contenedor MySQL esté corriendo (docker ps) y las credenciales en .env.
  • Conflictos de puertos: Asegúrate que los puertos definidos en .env estén libres en tu máquina.
  • Tiempos de espera: El instalador espera hasta 30 segundos a que la base de datos esté disponible; aumenta el tiempo en el script si es necesario.

Licencia

Este proyecto está licenciado bajo la Licencia ISC. Consulta el archivo LICENSE para más detalles.


Contribuciones

No dudes en abrir issues o enviar pull requests para mejorar este proyecto.


Tags: PrestaShop Docker PHP MySQL phpMyAdmin Automation Ecommerce Geolocation WebDevelopment DevOps OpenSource CLIInstallation Deployment


Invítame un café en cafecito.app