Skip to content

Releases: starychenko/OcStore

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

30 Mar 09:39

Choose a tag to compare

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

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

v1.2.0 — Performance & Security Tuning

25 Mar 20:57

Choose a tag to compare

Що нового в v1.2.0

🚀 Оптимізація продуктивності — MariaDB

Повна переробка конфігурації MariaDB для серверів з 8GB RAM:

Параметр Було Стало
innodb_buffer_pool_size 1G 2G
innodb_log_buffer_size 16M 64M
innodb_io_capacity 400/800
innodb_flush_log_at_trx_commit 1 2 (швидше, безпечно)
query_cache_type ON (128M) OFF (deprecated, викликав lock contention)
tmp_table_size / max_heap_table_size 256M 64M (реалістично)
max_connections 200 100 (запобігає OOM)
wait_timeout 900s 300s (звільняє idle-з'єднання)
slow_query_log OFF ON (поріг 2s)
performance_schema ON OFF (звільняє ~400MB RAM)

🔒 Безпека — Nginx

  • Додано server_tokens off — приховує версію Nginx з HTTP-відповідей

⚙️ PHP

  • opcache.memory_consumption: 512M → 256M (достатньо для OpenCart, менше витрат)
  • session.cookie_secure: Off → On (cookies тільки по HTTPS)

🐛 Виправлення

  • FileBrowser permissions: контейнер тепер запускається від www-data (33:33) замість root — завантажені файли мають правильні права для PHP-FPM
  • DB_EXTERNAL_PORT: додано конфігурацію зовнішнього порту БД через .env (змінна DB_EXTERNAL_PORT)
  • Timeouts: збільшено ліміти Nginx і PHP-FPM для важких операцій (імпорт каталогу, масові оновлення)

Оновлення

Coolify — Redeploy

Всі зміни застосуються автоматично після redeploy.

⚠️ MariaDB потребує перезапуску контейнера (не просто reload) для застосування innodb_buffer_pool_size.

Локально

git pull origin master
docker compose down mariadb && docker compose up -d mariadb
docker compose up -d --build opencart

Сумісність

  • OpenCart 3.x (OcStore fork)
  • MariaDB 10.6
  • PHP 8.1-FPM
  • Nginx (latest Bookworm)
  • Coolify 4.x

v1.1.0 - FileBrowser & Ukrainian Docs

27 Jan 08:29

Choose a tag to compare

Що нового

FileBrowser - Веб-файловий менеджер

  • Додано FileBrowser для управління файлами через браузер
  • Доступ до /var/www/html та /var/www/storage через веб-інтерфейс
  • Автоматична генерація пароля при першому запуску (дивіться логи)
  • Інтеграція з Traefik для Coolify

Виправлення

  • Виправлено помилку Undefined constant "OPENCARTFORUM_SERVER" в адмінці
  • Додано константу OPENCARTFORUM_SERVER в admin/config.php

Документація

  • Повний переклад .env.example українською мовою
  • Оновлено README.md з секцією FileBrowser
  • Оновлено CLAUDE.md з архітектурою

Оновлення

Coolify

  1. Додайте домен для filebrowser (напр. files.yourdomain.com)
  2. Redeploy
  3. Пароль FileBrowser в логах контейнера

Локально

# docker-compose.override.yml
services:
  filebrowser:
    ports:
      - "8082:8080"

Credentials FileBrowser

  • Логін: admin
  • Пароль: Генерується автоматично (в логах)

Full Changelog: v1.0.0...v1.1.0

v1.0.0 - Production Ready

21 Jan 15:42

Choose a tag to compare

OpenCart 3 (OcStore) Docker - Перший стабільний реліз

Production-ready Docker образ для OpenCart 3 (OcStore v3.0.4.1).

Можливості

  • Автоматична інсталяція — без веб-візарда
  • Coolify Ready — Traefik labels, health checks, environment variables
  • Збереження даних — модулі, теми, зображення зберігаються при redeploy
  • JIT продуктивність — OPcache + Tracing JIT увімкнено
  • Dev інструменти — Xdebug та ionCube опціонально (вимкнені для JIT)

Технології

Компонент Версія
OcStore 3.0.4.1
PHP 8.1-FPM (Debian Bookworm)
Nginx Latest
MariaDB 10.6 LTS
phpMyAdmin Latest

Швидкий старт

git clone https://github.com/starychenko/OcStore.git
cd OcStore
cp .env.example .env
# Відредагувати .env
docker compose up -d --build

Документація

Дивіться README.md для повної документації.