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.phpse 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.