Skip to content

v2.0.0 — OcStore 2.3 Support + Multi-Instance Isolation

Latest

Choose a tag to compare

@starychenko starychenko released this 30 Mar 09:39

OcStore Docker v2.0.0

Мажорний реліз: підтримка OcStore 2.3 (v2.3.0.2.4) поряд з OcStore 3.x (v3.0.4.1), з повною ізоляцією для паралельного запуску на одному сервері.

Нові можливості

OcStore 2.3 Build

  • Dockerfile.v2 — PHP 7.2-FPM (Debian Buster) з усіма розширеннями (gd, mysqli, zip, intl, bcmath, exif)
  • docker-compose.v2.yml — окремий compose файл з унікальними іменами сервісів (opencartv2, mariadbv2, filebrowserv2, phpmyadminv2)
  • docker/entrypoint.v2.sh — автоматична інсталяція з форматом config.php для OcStore 2.3 (HTTP_ADMIN, DIR_DATABASE, без DIR_STORAGE)
  • docker/php/php.v2.ini — PHP конфіг без JIT (недоступний в PHP 7.2), timezone Europe/Kiev
  • docker/php/php-fpm.v2.conf — PHP-FPM конфіг без decorate_workers_output (не підтримується в PHP 7.2)
  • Xdebug 3.1.6 — остання версія з підтримкою PHP 7.2, пінена в Dockerfile

Паралельний запуск

  • Обидві версії можуть працювати на одному сервері Coolify без конфліктів
  • Повністю ізольовані: окремі сервіси, volumes, Traefik service names
  • В Coolify: docker-compose.yml для v3, docker-compose.v2.yml для v2.3

Виправлення

Nginx SSL Termination

  • Додано fastcgi_param HTTPS on та fastcgi_param SERVER_PORT 443 в docker/nginx/default.conf
  • Виправляє jQuery/CORS помилки в адмінці при роботі за Coolify/Traefik reverse proxy
  • Причина: Traefik терміналить SSL перед nginx, PHP не знав що з'єднання HTTPS і генерував http:// URL

Traefik Routing Conflicts

  • Окремі docker-compose файли з унікальними service names запобігають перемішуванню маршрутів
  • Раніше обидва інстанси реєструвались як traefik.http.services.opencart і Traefik балансував між ними

Debian Buster EOL

  • Додано переключення apt sources на archive.debian.org (основні дзеркала повертають 404)
  • Видалено buster-updates (більше не доступний)

PHP 7.2 Сумісність

  • decorate_workers_output — не підтримується в PHP 7.2 FPM, створено окремий php-fpm.v2.conf
  • Europe/Kyiv — timezone додана в пізніших версіях PHP, використовується Europe/Kiev
  • grep -c integer parsing — виправлено check_database_installed() в entrypoint
  • generate_config після CLI install — config.php тепер перегенеровується з правильними storage paths

Файли

Файл Статус Опис
Dockerfile.v2 Новий PHP 7.2-FPM образ для OcStore 2.3
docker-compose.v2.yml Новий Compose з унікальними сервісами (opencartv2, mariadbv2, etc.)
docker/entrypoint.v2.sh Новий Entrypoint з v2.3 config.php форматом
docker/php/php.v2.ini Новий PHP конфіг без JIT
docker/php/php-fpm.v2.conf Новий PHP-FPM без decorate_workers_output
docker/nginx/default.conf Змінений +HTTPS/SSL fastcgi params
docker-compose.yml Змінений Хардкоджений Dockerfile (не через env var)
.env.example Змінений Оновлені інструкції
CLAUDE.md Змінений Повна документація обох версій
README.md Змінений Інструкції для паралельного деплою

Міграція з v1.x

Якщо ви використовували DOCKERFILE=Dockerfile.v2 в .env:

  1. Замість цього використовуйте docker-compose.v2.yml як compose файл в Coolify
  2. Видаліть DOCKERFILE зі змінних оточення — він більше не потрібен
  3. Redeploy з очисткою volumes

Coolify Deployment

OcStore 3.x: Build Pack → Docker Compose, файл: docker-compose.yml
OcStore 2.3: Build Pack → Docker Compose, файл: docker-compose.v2.yml

Обидва можуть працювати на одному сервері одночасно.