Instalar Bagisto con Docker
Sigue la guía de los stacks de Docker para instalar Bagisto con nuestro stack y ten en cuenta lo propio de esta plataforma. El detalle completo está en el README del repositorio.
Recursos
El stack necesita unos 512 MB de RAM y 1 GB de disco para las imágenes. En reposo usa unos 320 MiB en total (MariaDB ~120 MiB, PHP-FPM ~65 MiB, worker ~60 MiB, scheduler ~55 MiB y Caddy ~15 MiB).
La imagen de Bagisto se construye en tu servidor, por lo que el stack se levanta con docker compose up -d --build en vez de docker compose up -d. La primera construcción tarda aproximadamente un minuto y medio y genera una imagen de unos 430 MB.
Variables obligatorias
| Variable | Qué debe contener |
|---|---|
BAGISTO_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. |
BAGISTO_ADMIN_PATH |
Ruta del panel de administración (letras, números, - y _). No uses admin. |
APP_KEY |
Clave de cifrado de Laravel: el texto base64: seguido del resultado de openssl rand -base64 32. Guarda una copia, porque no se incluye en los respaldos. |
DB_PASSWORD y DB_ROOT_PASSWORD |
Contraseñas de la base de datos. |
BAGISTO_ADMIN_EMAIL y BAGISTO_ADMIN_PASSWORD |
Correo y contraseña del primer administrador. La contraseña solo se aplica en la instalación inicial, y el correo recibe las notificaciones de la tienda. |
SMTP_HOST |
Recomendada: el stack arranca sin ella, pero la plataforma no podrá enviar correos. Servidor SMTP. Completa también SMTP_PORT, SMTP_SECURE, SMTP_USER, SMTP_PASSWORD, SMTP_FROM y SMTP_FROM_NAME según tu proveedor. |
Bagisto solo responde al dominio de BAGISTO_URL. Si la tienda también se usa con otro nombre (por ejemplo, www), agrégalo en BAGISTO_EXTRA_HOSTS.
Configuración inicial de la tienda
La tienda se crea configurada para Chile: idioma es, moneda CLP con formato $9.990, país CL con origen de envíos en Santiago, IVA de 19 % incluido en los precios, un método de envío gratuito “Despacho” y “Transferencia bancaria” como único medio de pago. Si vendes en otro país, ajusta BAGISTO_LOCALE, BAGISTO_CURRENCY, BAGISTO_COUNTRY, BAGISTO_CITY, las variables BAGISTO_TAX_* y BAGISTO_PRICES_INCLUDE_TAX antes del primer arranque. BAGISTO_COUNTRY, BAGISTO_CITY, BAGISTO_TAX_* y BAGISTO_PRICES_INCLUDE_TAX solo se aplican en la instalación inicial y después se modifican desde el panel.
BAGISTO_LOCALE (idioma por defecto) y BAGISTO_CURRENCY (moneda base) se leen en cada arranque: no los cambies después de la instalación, porque la base de datos debe tener ese idioma y esa moneda. BAGISTO_STORE_NAME también se lee en cada arranque como nombre de la aplicación en el panel; en la instalación inicial se usa además como nombre de la tienda y título de la página de inicio, que después se editan desde el panel.
Acceso
Cuando setup termina, la tienda queda disponible en tu dominio y el panel de administración en /<BAGISTO_ADMIN_PATH>, con el usuario BAGISTO_ADMIN_EMAIL.
Actualizaciones
Bagisto se actualiza cambiando la versión en el .env. Respalda primero y, si es una nueva versión menor, revisa el UPGRADE.md de Bagisto. Luego cambia BAGISTO_VERSION y BAGISTO_SHA256 (el SHA-256 del archivo de la nueva versión) y ejecuta docker compose up -d --build: la imagen se reconstruye y setup aplica las migraciones antes de que arranque PHP-FPM.
Las extensiones, temas y métodos de pago son paquetes de Laravel que se agregan a la imagen: con composer require en image/Dockerfile, o copiándolos a packages/ y registrando su provider en bootstrap/providers.php; luego ejecuta docker compose up -d --build. Reconstrúyela también periódicamente con docker compose build --pull para recibir las correcciones de seguridad de PHP y Alpine.
Restaurar un respaldo
Los respaldos incluyen la base de datos y los archivos de la tienda (archivos subidos, imágenes del tema, importaciones y facturas). APP_KEY no se incluye: conserva tu .env. Para restaurar uno:
docker compose stop php worker scheduler
docker compose run --rm --no-deps backup restore <fecha>
docker compose up -d
Al volver a levantar el stack, setup limpia las cachés. La base de datos debe estar en ejecución (docker compose up -d db si el stack está detenido). La restauración borra primero todas las tablas, así que no queda nada de lo creado después del respaldo.
Notas
- Si la primera instalación falla, los siguientes arranques se detienen sin cambiar nada (la base de datos tiene tablas pero no hay administrador). Para reintentar, borra los datos con
docker compose down -vy vuelve a levantar el stack. Hazlo solo en una instalación nueva, nunca en una tienda con datos. - La configuración de SMTP que guardes en el panel (Configuration > Emails) tiene prioridad sobre las variables
SMTP_*. - Bagisto guarda en caché las páginas completas para los visitantes. Si modificas contenido directamente en la base de datos, límpiala con
docker compose run --rm console responsecache:clear. - La instalación incluye el contenido de demostración del tema (“Tienda de Demostración”); edítalo en Appearance > Sections.
Siguiente paso
Con Bagisto funcionando, configúralo como origen de datos en BillMySales siguiendo la configuración inicial.