Instalar PrestaShop con Docker
Sigue la guía de los stacks de Docker para instalar PrestaShop con nuestro stack y ten en cuenta lo propio de esta plataforma. El detalle completo está en el README del repositorio.
Recursos
En reposo el stack usa unos 18 MiB en Caddy, unos 220 MiB en PHP-FPM y unos 170 MiB en MariaDB. El primer up construye la imagen de PrestaShop y tarda algunos minutos, porque compila las extensiones de PHP.
Variables obligatorias
| Variable | Qué debe contener |
|---|---|
PS_URL |
URL pública de la tienda, por ejemplo https://tienda.example.com. |
SITE_ADDRESS |
El dominio de la tienda, por ejemplo tienda.example.com. |
DB_PASSWORD y DB_ROOT_PASSWORD |
Contraseñas de la base de datos. |
PS_ADMIN_EMAIL y PS_ADMIN_PASSWORD |
Correo y contraseña del administrador del back office. Solo se usan al instalar: si los cambias después en el .env, la cuenta no cambia (hazlo desde el back office). |
PS_FOLDER_ADMIN |
Nombre del directorio del back office. Usa uno difícil de adivinar, por ejemplo admin-$(openssl rand -hex 4). |
SMTP_HOST |
Recomendada: el stack arranca sin ella, pero la plataforma no podrá enviar correos. Servidor SMTP. Completa también SMTP_PORT, SMTP_SECURE (por defecto tls), SMTP_USER, SMTP_PASSWORD y SMTP_FROM según tu proveedor. |
Configuración inicial de la tienda
La tienda se crea configurada para Chile (idioma es, país cl y zona horaria America/Santiago), sin productos de demostración. Si vendes en otro país, cambia PS_LANGUAGE, PS_COUNTRY y PS_TIMEZONE (y el nombre en PS_SHOP_NAME) antes del primer arranque: estos valores solo se usan en la instalación inicial y después se modifican desde el back office.
Acceso
Cuando setup termina, la tienda queda disponible en tu dominio y el back office en /<PS_FOLDER_ADMIN>/, donde ingresas con PS_ADMIN_EMAIL y PS_ADMIN_PASSWORD. Puedes cambiar el nombre del directorio en cualquier momento: setup lo renombra en el siguiente up.
Actualizaciones
PrestaShop se actualiza desde el back office, con el módulo Update Assistant. PS_VERSION solo se usa al crear el volumen de la tienda. Para actualizar PHP, reconstruye la imagen con un nuevo PHP_VERSION.
Restaurar un respaldo
Los respaldos incluyen la base de datos y la carpeta completa de la tienda, sin cachés ni registros. Para restaurar uno:
docker compose stop prestashop
docker compose run --rm --no-deps backup restore <fecha>
docker compose start prestashop
Notas
- El núcleo de PrestaShop no necesita tareas programadas, por lo que el stack no incluye cron. Si un módulo las necesita (por ejemplo, tasas de cambio), prográmalas en el cron del servidor con
docker compose exec prestashop php <script>. - El dominio y el SSL de la tienda se toman de
PS_URLen cada arranque, y los datos SMTP deSMTP_*cuandoSMTP_HOSTestá definido: los cambios que hagas en esos ajustes desde el back office se reemplazan en el siguienteup.
Siguiente paso
Con la tienda funcionando, instala el plugin de BillMySales y conéctalo a tu pasarela de facturación siguiendo la configuración inicial.