Instalar OpenCart con Docker

Sigue la guía de los stacks de Docker para instalar OpenCart 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 17 MiB en Caddy, entre 20 y 40 MiB en PHP-FPM y unos 120 MiB en MariaDB. El primer up construye la imagen de OpenCart, porque compila las extensiones de PHP.

Variables obligatorias

Variable Qué debe contener
OC_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.
OC_ADMIN_PASSWORD y OC_ADMIN_EMAIL Contraseña y correo del administrador. Solo se usan al instalar (igual que OC_ADMIN_USER): si los cambias después en el .env, la cuenta no cambia (hazlo desde el back office).
OC_ADMIN_DIR 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. El cliente SMTP de OpenCart exige usuario y contraseña.

Configuración inicial de la tienda

La tienda se crea configurada para Chile (país CL, región RM, moneda CLP y zona horaria America/Santiago). Si vendes en otro país, cambia OC_COUNTRY, OC_ZONE, OC_CURRENCY, OC_CURRENCY_TITLE y PHP_TIMEZONE (y el nombre en OC_STORE_NAME) antes del primer arranque: estos valores solo se aplican en la instalación inicial y después se modifican desde el back office. PHP_TIMEZONE además define la zona horaria de PHP en cada arranque. La moneda configurada queda como la única habilitada.

El instalador de OpenCart siempre carga su catálogo de ejemplo (categorías, productos y fabricantes); elimínalo desde el back office si no lo necesitas. Solo viene instalado el inglés: otros idiomas son extensiones del marketplace de OpenCart.

Acceso

Cuando setup termina, la tienda queda disponible en tu dominio y el back office en /<OC_ADMIN_DIR>/, con el usuario admin (configurable con OC_ADMIN_USER). Puedes cambiar el nombre del directorio en cualquier momento: setup lo renombra en el siguiente up.

Actualizaciones

OpenCart se actualiza desde el back office (Maintenance > Upgrade), que modifica los archivos del volumen code. OC_VERSION solo se usa al crear el volumen. Respalda antes de actualizar.

Restaurar un respaldo

Los respaldos incluyen la base de datos, el código, las imágenes, las extensiones y el almacenamiento de la tienda, sin cachés ni sesiones. Para restaurar uno:

docker compose stop opencart cron
docker compose run --rm --no-deps backup restore <fecha>
docker compose start opencart cron

Notas

  • Los archivos config.php se generan en cada arranque a partir del .env: cambia el .env, no esos archivos.
  • La opción “Forgotten password” del back office no funciona en OpenCart 4.1.0.4 (siempre responde que el correo no existe). Cambia la contraseña de un administrador desde Users en el back office o directamente en la base de datos.

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