Releases: starychenko/OcStore
Releases · starychenko/OcStore
v2.0.0 — OcStore 2.3 Support + Multi-Instance Isolation
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), timezoneEurope/Kievdocker/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.confEurope/Kyiv— timezone додана в пізніших версіях PHP, використовуєтьсяEurope/Kievgrep -cinteger parsing — виправленоcheck_database_installed()в entrypointgenerate_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:
- Замість цього використовуйте
docker-compose.v2.ymlяк compose файл в Coolify - Видаліть
DOCKERFILEзі змінних оточення — він більше не потрібен - 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
Що нового в 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
Що нового
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
- Додайте домен для filebrowser (напр.
files.yourdomain.com) - Redeploy
- Пароль 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
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 для повної документації.