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:
- Docker
- Docker Compose
wget
,unzip
ybash
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
- Tienda (Front Office): http://localhost:8888
- Panel de administración (Back Office): http://localhost:8888/admin123 (reemplaza
admin123
con tuPSADMINDIR
) - phpMyAdmin: http://localhost:9999
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 elDockerfile
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