From 4248b649ed9fbc8a88f54827db84274337742a6d Mon Sep 17 00:00:00 2001 From: shop Date: Sun, 17 May 2026 09:42:13 +0300 Subject: [PATCH] =?UTF-8?q?release:=20v0.10.0=20=E2=80=94=20Docker=20Compo?= =?UTF-8?q?se=20=D0=B8=20=D1=80=D0=B0=D0=B7=D0=B2=D1=91=D1=80=D1=82=D1=8B?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B1=D0=B5=D0=B7=20Docker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- CHANGELOG.md | 30 ++++++++++++++++++++++ README.md | 19 +++++++++++++- docs/RELEASE-0.10.md | 61 ++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 4 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 docs/RELEASE-0.10.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..30e8826 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,30 @@ +# Changelog + +## [0.10.0] — 2026-05-17 + +Первый стабильный релиз с PostgreSQL 17. Два способа развёртывания: **Docker Compose** и **без Docker** (Ubuntu + systemd). + +### Возможности + +- Каталог, корзина, регистрация, заказы +- PostgreSQL 17 (схема, сессии в БД) +- Caddy: HTTPS и reverse proxy (на хосте или в Docker) +- Health-check: `GET /health` + +### Docker Compose + +- `docker compose up -d --build` — app + postgres +- `docker compose --profile proxy` — опционально Caddy +- `docker-compose.dev.yml` — только БД для локальной разработки + +### Без Docker (production) + +- Ubuntu: Node.js 20, PostgreSQL 17, systemd (`deploy/shop.service`) +- Скрипты: `setup-postgres-ubuntu.sh`, `fix-db-connection.sh`, `server-update.sh`, `diagnose-502.sh` + +### Исправления + +- `seed.js` больше не вызывает `process.exit` при старте сервера (502 от Caddy) +- Ожидание PostgreSQL в `shop.service` перед запуском Node + +[0.10.0]: https://git.evilfox.cc/test/shop10/releases/tag/v0.10.0 diff --git a/README.md b/README.md index 109d4ba..fae7829 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ # Shop -Интернет-магазин на **Node.js** и **PostgreSQL 17**. +**v0.10.0** — интернет-магазин на **Node.js** и **PostgreSQL 17**. + +Два способа установки: [Docker Compose](#docker-compose-рекомендуется-для-теста) | [без Docker (Ubuntu)](#postgresql-17-без-docker) + +Подробности релиза: [CHANGELOG.md](CHANGELOG.md) · [docs/RELEASE-0.10.md](docs/RELEASE-0.10.md) ## Возможности @@ -376,6 +380,19 @@ scripts/ src/ ``` +## Релиз 0.10.0 + +```bash +git clone shop +cd shop +git checkout v0.10.0 +``` + +| Способ | Команда | +|--------|---------| +| Docker | `docker compose up -d --build` | +| Без Docker | `bash scripts/setup-postgres-ubuntu.sh` → `systemctl start shop` | + ## Репозиторий ```bash diff --git a/docs/RELEASE-0.10.md b/docs/RELEASE-0.10.md new file mode 100644 index 0000000..c24c0ff --- /dev/null +++ b/docs/RELEASE-0.10.md @@ -0,0 +1,61 @@ +# Релиз 0.10.0 + +Интернет-магазин на Node.js + PostgreSQL 17. + +## Вариант A — Docker Compose + +```bash +git clone shop && cd shop +git checkout v0.10.0 + +cp .env.docker.example .env +# SESSION_SECRET=... + +docker compose up -d --build +curl -s http://127.0.0.1:3000/health +``` + +Сайт: http://localhost:3000 + +С HTTPS (Caddy в контейнере): + +```bash +# TRUST_PROXY=1 в .env, правьте caddy/Caddyfile.docker.example +docker compose --profile proxy up -d --build +``` + +## Вариант B — без Docker (Ubuntu) + +```bash +git clone shop && cd shop +git checkout v0.10.0 + +apt install -y git curl +curl -fsSL https://deb.nodesource.com/setup_20.x | bash - +apt install -y nodejs postgresql-17 postgresql-client-17 + +bash scripts/setup-postgres-ubuntu.sh + +cp .env.example .env +# DATABASE_URL, SESSION_SECRET, HOST=127.0.0.1, TRUST_PROXY=1 + +npm install --omit=dev +cp deploy/shop.service /etc/systemd/system/ +systemctl daemon-reload && systemctl enable --now shop + +curl -s http://127.0.0.1:3000/health +``` + +Caddy на хосте — см. `README.md`, раздел «Caddy». + +## Обновление с более ранних версий + +- С **SQLite**: раздел «Переход с SQLite на PostgreSQL 17» в README +- С **0.10-beta**: `git pull`, `npm install`, `systemctl restart shop` + +## Тег + +```bash +git fetch --tags +git checkout v0.10.0 +``` diff --git a/package.json b/package.json index 50c8d8d..e39e3fc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "shop", - "version": "2.0.0", + "version": "0.10.0", "description": "Интернет-магазин на Node.js с PostgreSQL 17", "main": "src/server.js", "scripts": {