af2901152d
Co-authored-by: Cursor <cursoragent@cursor.com>
81 lines
2.3 KiB
Markdown
81 lines
2.3 KiB
Markdown
# Shop — документация
|
|
|
|
Интернет-магазин на **Node.js** и **PostgreSQL 17**. Текущий релиз: **v1.0.0** (см. [CHANGELOG](../CHANGELOG.md), [RELEASE-1.0](../docs/RELEASE-1.0.md)).
|
|
|
|
## Способы установки
|
|
|
|
| Способ | Когда использовать |
|
|
|--------|-------------------|
|
|
| **[Установка через Docker](Install-Docker)** | Быстрый старт, тест, изолированное окружение |
|
|
| **[Установка без Docker](Install-Native)** | Production на Ubuntu, systemd, Caddy |
|
|
| **[Сервер: установка и обновление](Server-Operations)** | Обновления, systemd, типичные ошибки |
|
|
|
|
## Требования
|
|
|
|
**Docker:** Docker Engine 24+, Docker Compose v2.
|
|
|
|
**Без Docker:** Ubuntu 22.04 / 24.04, Node.js 20, PostgreSQL 17.
|
|
|
|
## Роли
|
|
|
|
| Роль | Кто |
|
|
|------|-----|
|
|
| **customer** | Все, кто регистрируется через сайт |
|
|
| **admin** | **Один** пользователь — email из `ADMIN_EMAIL` в `.env` (по умолчанию `admin@site.com` / пароль `admin`) |
|
|
|
|
Админ-панель доступна только этому аккаунту.
|
|
|
|
## Установщик
|
|
|
|
Интерактивно: админ, PostgreSQL, Docker или Ubuntu:
|
|
|
|
```bash
|
|
bash scripts/install.sh
|
|
```
|
|
|
|
## Быстрый старт
|
|
|
|
### Docker
|
|
|
|
```bash
|
|
git clone <URL-вашего-репозитория> shop
|
|
cd shop
|
|
cp .env.docker.example .env
|
|
docker compose up -d --build
|
|
```
|
|
|
|
Сайт: http://localhost:3000
|
|
|
|
### Без Docker (сервер)
|
|
|
|
```bash
|
|
export SHOP_ROOT=/opt/shop
|
|
export GIT_REPO_URL='<URL-вашего-репозитория>'
|
|
|
|
git clone "$GIT_REPO_URL" "$SHOP_ROOT"
|
|
cd "$SHOP_ROOT"
|
|
sudo bash scripts/quick-deploy-ubuntu.sh
|
|
```
|
|
|
|
Обновление (рекомендуется):
|
|
|
|
```bash
|
|
export SHOP_ROOT=/opt/shop/shop10
|
|
bash "$SHOP_ROOT/scripts/server-update.sh"
|
|
```
|
|
|
|
Путь `SHOP_ROOT` — ваш каталог клона (см. [Server-Operations](Server-Operations)).
|
|
|
|
## Проверка
|
|
|
|
```bash
|
|
curl -s http://127.0.0.1:3000/health
|
|
```
|
|
|
|
Ожидается: `{"ok":true,"service":"shop","database":"postgresql"}`
|
|
|
|
## Ссылки
|
|
|
|
- [Решение проблем](Troubleshooting)
|
|
- [Сервер: установка и обновление](Server-Operations)
|