Добавить установщик, проверку версий и инструкцию деплоя на сервер.

Интерактивная настройка домена и БД, эндпоинты /health и /version,
скрипты install/check для Linux и Windows.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
shop
2026-05-16 17:17:19 +03:00
parent 448cf2a465
commit a3d3721724
17 changed files with 784 additions and 23 deletions
+75 -9
View File
@@ -2,21 +2,87 @@
Главная страница интернет-магазина на Go с PostgreSQL 17 (SSL), reverse proxy Caddy и Docker Compose.
## Стек
Репозиторий: https://git.evilfox.cc/test/shop3.git
- Go 1.22, `pgx/v5`
- PostgreSQL 17 (SSL)
- Caddy 2
- Docker Compose
## Быстрая установка на сервере
## Запуск
Требования: **Git**, **Docker**, **Docker Compose** (плагин `docker compose`).
```bash
cp .env.example .env
# 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
```
Сайт: http://localhost
Одной цепочкой (после клона введите ответы установщика):
```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
## Локальная разработка
@@ -24,4 +90,4 @@ docker compose up --build -d
go run ./cmd/server
```
Переменная `DATABASE_URL` обязательна (см. `.env.example`).
`DATABASE_URL` задаётся в `.env` (см. `.env.example` или установщик).