Instalar Shopware con Docker
Sigue la guía de los stacks de Docker para instalar Shopware con nuestro stack y ten en cuenta lo propio de esta plataforma. El detalle completo está en el README del repositorio.
Recursos
Reserva cerca de 1 GB de RAM para el stack. En reposo usa unos 700 MiB: 15 MiB en Caddy, 160 MiB en Shopware, 175 MiB en el worker de colas, 140 MiB en el scheduler y 210 MiB en MariaDB. El primer up construye la imagen y tarda alrededor de un minuto, porque descarga Shopware con Composer.
Variables obligatorias
| Variable | Qué debe contener |
|---|---|
SW_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. |
APP_SECRET |
Clave secreta de la aplicación. Genérala con openssl rand -hex 32. |
INSTANCE_ID |
Identificador de la instalación. Genéralo con openssl rand -hex 16 y no lo cambies después. |
DB_PASSWORD |
Contraseña de la base de datos. Va dentro de una URL, así que usa solo caracteres hexadecimales: genérala con openssl rand -hex 24. |
DB_ROOT_PASSWORD |
Contraseña de root de la base de datos. |
SW_ADMIN_PASSWORD y SW_ADMIN_EMAIL |
Contraseña y correo del administrador. Solo se usan al instalar (igual que SW_ADMIN_USER): si los cambias después en el .env, la cuenta no cambia (hazlo desde la administración). |
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 con moneda CLP e idioma en-GB. Cambia SW_CURRENCY, SW_LOCALE (y el nombre en SW_SHOP_NAME) antes del primer arranque: estos valores solo se aplican en la instalación inicial y después se modifican desde la administración. SW_LOCALE acepta en-GB o de-DE; otros idiomas requieren un plugin de paquete de idioma.
Acceso
Cuando setup termina, la tienda queda disponible en tu dominio y la administración en /admin, con el usuario admin (configurable con SW_ADMIN_USER).
Actualizaciones
Shopware se actualiza cambiando SW_VERSION en el .env y ejecutando:
docker compose up -d --build
Se construye una imagen nueva y setup aplica las migraciones de la base de datos. Respalda antes de actualizar.
El código vive en la imagen, así que para recibir las correcciones de seguridad de PHP y del sistema operativo reconstrúyela periódicamente:
docker compose build --pull && docker compose up -d
Restaurar un respaldo
Los respaldos incluyen la base de datos, los archivos privados (por ejemplo, facturas) y los archivos multimedia; el tema, las miniaturas y los sitemaps se regeneran. Para restaurar uno:
docker compose stop shopware worker scheduler
docker compose run --rm --no-deps backup restore <fecha>
docker compose start shopware worker scheduler
docker compose run --rm console cache:clear
docker compose run --rm console media:generate-thumbnails
El último comando solo es necesario si faltan miniaturas.
Notas
- Las tareas en segundo plano (como el envío de correos) las procesa el servicio
worker, no el navegador de la administración. - La búsqueda usa la base de datos; el stack no incluye OpenSearch.
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.