Instalar nopCommerce con Docker
Sigue la guía de los stacks de Docker para instalar nopCommerce 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 cerca de 1 GB de disco para las imágenes y 1 GB de RAM. En reposo usa unos 470 MiB en total (unos 400 MiB nopCommerce, 50 MiB PostgreSQL y 13 MiB Caddy). El primer arranque tarda cerca de un minuto.
Variables obligatorias
| Variable | Qué debe contener |
|---|---|
NOP_URL |
URL pública de la tienda, por ejemplo https://tienda.example.com. |
NOP_HOST |
El nombre de host de NOP_URL, por ejemplo tienda.example.com. nopCommerce ejecuta sus tareas programadas (como el envío de correos) llamando a su propia URL. |
SITE_ADDRESS |
El dominio de la tienda, por ejemplo tienda.example.com. |
DB_PASSWORD |
Contraseña de la base de datos. |
NOP_ADMIN_EMAIL y NOP_ADMIN_PASSWORD |
Correo y contraseña del primer administrador. Solo se usan al crearlo: cambiarlos después en el .env no modifica la cuenta. |
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 y SMTP_FROM según tu proveedor. Mientras no lo configures, los correos quedan en cola. Por defecto, SMTP_FROM es noreply@example.com. SMTP_FROM también recibe las notificaciones de la tienda (nuevos pedidos). |
Configuración inicial de la tienda
NOP_COUNTRY_CULTURE define el país y el idioma de la tienda, con el formato país-cultura del instalador de nopCommerce: CL-es-CL (por defecto), US-en-US, ES-es-ES, DE-de-DE, etc. Debe ser uno de los valores de la lista del instalador; con cualquier otro, setup se detiene antes de instalar. La tienda queda con el idioma de esa cultura y la moneda del país como únicos publicados. El paquete de idioma se descarga desde nopcommerce.com; si no se puede descargar, la tienda queda en inglés y setup muestra una advertencia.
Con el valor por defecto, la tienda se crea configurada para Chile: idioma español, moneda CLP, IVA de 19 % incluido en los precios, un método de envío “Despacho”, el pago por “Transferencia bancaria”, correos en español y código postal opcional. Si el idioma de la tienda es español, se usan esos nombres y los correos en español (NOP_EMAILS_SPANISH); en otro idioma, las categorías de impuestos y el envío quedan en inglés (“Taxable”/“Exempt”, “Shipping”), el pago conserva los textos del instalador y las plantillas de correo quedan en inglés. El código postal opcional es solo para Chile.
Ajusta NOP_COUNTRY_CULTURE, NOP_STORE_NAME, NOP_TAX_RATE, NOP_PRICES_INCLUDE_TAX y NOP_EMAILS_SPANISH antes del primer arranque: estos valores solo se aplican en la instalación inicial y después se modifican desde el panel de nopCommerce. NOP_STORE_NAME además se usa en cada arranque como nombre del remitente de los correos, si no defines SMTP_FROM_NAME. TIMEZONE define la zona horaria de los contenedores en cada arranque y la de la tienda solo en la instalación inicial.
Acceso
Cuando setup termina, la tienda queda disponible en tu dominio y el panel de administración en /admin, con el correo y la contraseña de NOP_ADMIN_EMAIL y NOP_ADMIN_PASSWORD.
Actualizaciones
nopCommerce se actualiza cambiando NOP_VERSION en el .env y ejecutando docker compose up -d --build: la imagen se reconstruye con la nueva versión oficial y setup aplica las migraciones. Respalda antes y lee las notas de la versión. Los plugins nuevos de una versión no se instalan al actualizar; si los necesitas, instálalos desde el panel (Configuration > Local plugins).
Reconstruye la imagen periódicamente para recibir los parches de seguridad de .NET y Alpine:
docker compose build --pull
Restaurar un respaldo
Los respaldos incluyen la base de datos (con las imágenes de los productos), la carpeta App_Data (con las claves de las sesiones) y los archivos subidos. Para restaurar uno:
docker compose stop nop
docker compose run --rm --no-deps backup restore <fecha>
docker compose up -d
Notas
- El stack construye su propia imagen de nopCommerce (la aplicación oficial sobre el runtime de .NET actualizado), así que para instalar y actualizar usa
docker compose up -d --builden lugar dedocker compose up -d. - Detrás de Traefik, además de las variables que indica la guía general, deja
NOP_HOSTcon el host de la tienda: nopCommerce se llama a sí mismo a través de Traefik. - Caddy solo acepta el host de
NOP_HOST; cualquier otro responde con error 400. Si la tienda también responde en otro nombre (por ejemplo,www), agrégalo enNOP_EXTRA_HOSTS, separado por espacios. - La licencia de nopCommerce exige mantener el enlace “Powered by nopCommerce” en el pie de la tienda, salvo que compres su eliminación.
Siguiente paso
Con nopCommerce funcionando, configúralo como origen de datos en BillMySales siguiendo la configuración inicial.