---
title: "Sylius"
description: "Sylius"
type: "docs"
category: "doc"
tags: []
authors: [Anonymous]
date: "2026-09-25"
last_update: "2026-09-25"
time_minutes: 1
draft: false
unlisted: false
url: "https://www.billmysales.com/docs/datasources/sylius"
---

# Sylius



---

## Configuración inicial

Configuración de Sylius

# Configuración de Sylius

&gt; [!NOTE] Documentación en progreso.
&gt;
&gt; Si tienes alguna sugerencia o necesitas ayuda, por favor contáctanos a través de nuestro [soporte](https://www.billmysales.com/help).




---

## Instalación con Docker

Instalar Sylius con Docker

# Instalar Sylius con Docker

Sigue la [guía de los stacks de Docker](https://www.billmysales.com/docs/stacks) para instalar Sylius con nuestro [stack](https://github.com/BillMySales/billmysales-docker-sylius) 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 400 MiB en total (PHP-FPM ~140 MiB, worker ~110 MiB, MariaDB ~135 MiB, Caddy ~16 MiB y cron ~6 MiB).

La imagen de Sylius 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 unos 3 minutos y genera una imagen de unos 390 MB.

## Variables obligatorias

| Variable | Qué debe contener |
|---|---|
| `SYLIUS_URL` | URL pública de la tienda, por ejemplo `https://tienda.example.com`. Se usa en los enlaces de los correos. |
| `SITE_ADDRESS` | El dominio de la tienda, por ejemplo `tienda.example.com`. |
| `APP_SECRET` | Clave secreta de Symfony. |
| `JWT_PASSPHRASE` | Frase de las claves JWT de las APIs. Si la cambias después de la instalación, necesitas generar claves nuevas. |
| `DB_PASSWORD` y `DB_ROOT_PASSWORD` | Contraseñas de la base de datos. |
| `SYLIUS_ADMIN_EMAIL` y `SYLIUS_ADMIN_PASSWORD` | Correo y contraseña del administrador. Se crea si no existe un usuario con ese correo (si cambias el correo después, se agrega otro administrador), y la contraseña solo se aplica al crearlo. |
| `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. `SMTP_FROM` también es el correo de contacto de la tienda, que se define solo al crearla. |

Sylius solo responde al dominio de `SYLIUS_URL`. Si la tienda también se usa con otro nombre (por ejemplo, `www`), agrégalo en `SYLIUS_EXTRA_HOSTS`.

## Configuración inicial de la tienda

La tienda se crea configurada para Chile: idioma `es_CL`, moneda `CLP`, país `CL` con su zona, IVA de 19 % incluido en los precios, un método de envío gratuito &quot;Despacho&quot; y el pago &quot;Transferencia bancaria&quot;. Si vendes en otro país, ajusta antes del primer arranque `SYLIUS_LOCALE`, `SYLIUS_CURRENCY`, `SYLIUS_COUNTRY`, `SYLIUS_ZONE_NAME`, las variables `SYLIUS_TAX_*` y `SYLIUS_PRICES_INCLUDE_TAX`. Cada elemento se crea solo si no existe, y después se modifica desde el panel.

`SYLIUS_LOCALE` queda fijado en la imagen al construirla: si lo cambias, la imagen se vuelve a construir. Defínelo antes de la instalación inicial.

## Acceso

Cuando `setup` termina, la tienda queda disponible en tu dominio, el panel de administración en `/admin` (con el usuario `SYLIUS_ADMIN_EMAIL`) y las APIs en `/api/v2`.

## Actualizaciones

Sylius se actualiza cambiando la versión en el `.env`. Respalda primero y, si es una nueva versión menor, revisa el `UPGRADE-2.x.md` de Sylius. Luego cambia `SYLIUS_VERSION` (y `SYLIUS_STANDARD_VERSION` cuando haya un Sylius-Standard más nuevo) y ejecuta `docker compose up -d --build`: la imagen se reconstruye con la nueva versión y `setup` aplica las migraciones antes de que arranque PHP-FPM.

Reconstruye la imagen 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, los archivos subidos y las claves (las claves JWT y la clave con la que Sylius cifra las credenciales de las pasarelas de pago). Para restaurar uno:

```shell
docker compose stop php worker cron
docker compose run --rm --no-deps backup restore &lt;fecha&gt;
docker compose up -d
```

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

- Los precios son enteros en la unidad mínima de la moneda: como el CLP no tiene decimales, `9990` es $9.990.
- Un producto habilitado sin variantes hace fallar los listados de la tienda (error 500). Los productos creados desde el panel siempre tienen una.
- Las páginas de la tienda cargan el JavaScript de Adyen y Mollie desde sus CDN aunque no uses esos medios de pago.

## Siguiente paso

Con Sylius funcionando, configúralo como origen de datos en BillMySales siguiendo la [configuración inicial](https://www.billmysales.com/docs/datasources/sylius/configuracion-inicial).





---
Última actualización el 25/09/2026

