a3d3721724
Интерактивная настройка домена и БД, эндпоинты /health и /version, скрипты install/check для Linux и Windows. Co-authored-by: Cursor <cursoragent@cursor.com>
94 lines
2.3 KiB
Markdown
94 lines
2.3 KiB
Markdown
# ShopNova — интернет-магазин (Go)
|
||
|
||
Главная страница интернет-магазина на Go с PostgreSQL 17 (SSL), reverse proxy Caddy и Docker Compose.
|
||
|
||
Репозиторий: 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 и caddy/Caddyfile)
|
||
chmod +x install.sh check.sh
|
||
./install.sh
|
||
|
||
# 3. Проверка версий
|
||
./check.sh
|
||
|
||
# 4. Запуск
|
||
docker compose up --build -d
|
||
```
|
||
|
||
Одной цепочкой (после клона введите ответы установщика):
|
||
|
||
```bash
|
||
git clone https://git.evilfox.cc/test/shop3.git && cd shop3 && chmod +x install.sh check.sh && ./install.sh && ./check.sh && docker compose up --build -d
|
||
```
|
||
|
||
С 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 # логи
|
||
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
|
||
|
||
## Локальная разработка
|
||
|
||
```bash
|
||
go run ./cmd/server
|
||
```
|
||
|
||
`DATABASE_URL` задаётся в `.env` (см. `.env.example` или установщик).
|