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_URL en cada arranque, y los datos SMTP de SMTP_* cuando SMTP_HOST está definido: los cambios que hagas en esos ajustes desde el back office se reemplazan en el siguiente up.

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.

En esta página

Última actualización el 25/09/2026 por Anonymous