3419d90e61
Co-authored-by: Cursor <cursoragent@cursor.com>
119 lines
3.2 KiB
Markdown
119 lines
3.2 KiB
Markdown
# ShopNova — интернет-магазин (Go)
|
||
|
||
**Версия:** `0.20` · [Релизы](https://git.evilfox.cc/test/shop3/releases)
|
||
|
||
Главная страница интернет-магазина на Go с PostgreSQL 17 (SSL), reverse proxy **Traefik** и Docker Compose.
|
||
|
||
Репозиторий: https://git.evilfox.cc/test/shop3.git
|
||
|
||
Клонировать конкретную версию:
|
||
|
||
```bash
|
||
git clone --branch v0.20 https://git.evilfox.cc/test/shop3.git
|
||
```
|
||
|
||
## Быстрая установка на сервере
|
||
|
||
Требования: **Git**, **Docker**, **Docker Compose** (плагин `docker compose`).
|
||
|
||
```bash
|
||
# 1. Клонировать
|
||
git clone https://git.evilfox.cc/test/shop3.git
|
||
cd shop3
|
||
|
||
# 2. Установщик (домен + база данных → .env и traefik/dynamic/shop.yml)
|
||
chmod +x install.sh check.sh
|
||
./install.sh
|
||
|
||
# 3. Запуск
|
||
docker compose up --build -d
|
||
|
||
# 4. Проверка (после старта контейнеров)
|
||
./check.sh --after-start
|
||
```
|
||
|
||
Одной цепочкой (после клона введите ответы установщика):
|
||
|
||
```bash
|
||
git clone https://git.evilfox.cc/test/shop3.git && cd shop3 && chmod +x install.sh check.sh && ./install.sh && docker compose up --build -d && ./check.sh --after-start
|
||
```
|
||
|
||
С Go на сервере вместо `install.sh`:
|
||
|
||
```bash
|
||
go run ./cmd/install
|
||
go run ./cmd/check
|
||
```
|
||
|
||
Без Go — установщик сам запустится в контейнере `golang:1.22-alpine`.
|
||
|
||
### Обновление на сервере
|
||
|
||
```bash
|
||
cd shop3
|
||
git pull
|
||
docker compose up --build -d
|
||
```
|
||
|
||
### Полезные команды
|
||
|
||
```bash
|
||
docker compose ps # статус контейнеров
|
||
docker compose logs -f traefik app # логи прокси и приложения
|
||
curl -s http://localhost/health | jq
|
||
curl -s http://localhost/version | jq
|
||
```
|
||
|
||
Сайт: `http://localhost` или `https://ваш-домен` (если указали в установщике).
|
||
|
||
---
|
||
|
||
## Установка на Windows (локально)
|
||
|
||
```powershell
|
||
git clone https://git.evilfox.cc/test/shop3.git
|
||
cd shop3
|
||
.\install.ps1
|
||
.\check.ps1
|
||
docker compose up --build -d
|
||
```
|
||
|
||
## Проверка версий
|
||
|
||
Проверяет Go, Docker, Docker Compose и PostgreSQL (**ожидается 17.x**):
|
||
|
||
```bash
|
||
./check.sh
|
||
# или: go run ./cmd/check
|
||
```
|
||
|
||
После запуска сервера:
|
||
|
||
- `GET /health` — статус и проверки
|
||
- `GET /version` — версии приложения, Go и PostgreSQL
|
||
|
||
## Регистрация и личный кабинет
|
||
|
||
| URL | Описание |
|
||
|-----|----------|
|
||
| `/register` | Регистрация |
|
||
| `/login` | Вход |
|
||
| `/account` | Личный кабинет (только для авторизованных) |
|
||
| `POST /logout` | Выход |
|
||
|
||
Сессии в cookie `shop_session`, пароли — bcrypt.
|
||
|
||
Если БД уже была создана до обновления, примените миграцию:
|
||
|
||
```bash
|
||
docker compose exec -T postgres psql -U shop -d shopdb < postgres/init/02_users.sql
|
||
```
|
||
|
||
## Локальная разработка
|
||
|
||
```bash
|
||
go run ./cmd/server
|
||
```
|
||
|
||
`DATABASE_URL` задаётся в `.env` (см. `.env.example` или установщик).
|