docs(readme): README с описанием стека, deploy и security (GitHub mirror)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
59
README.md
59
README.md
@@ -1,17 +1,62 @@
|
|||||||
# pitstopavto-su-v2
|
# pitstopavto.su
|
||||||
|
|
||||||
Сайт-визитка магазина автозапчастей «ПитСтоп» — Astro 5 SSG, замена WordPress.
|
Сайт-визитка магазина автозапчастей «ПитСтоп». Редизайн с WordPress на статический **Astro 5**.
|
||||||
|
|
||||||
**Прод:** https://pitstopavto.su
|
**Production:** https://pitstopavto.su
|
||||||
**Контейнер:** `pitstopavto-su-v2` на `web.hhivp.com:4147`
|
|
||||||
|
|
||||||
См. [CLAUDE.md](./CLAUDE.md) для деталей стека, деплоя и отката.
|
> **Mirror.** Source-of-truth: `git.striker.su/striker/pitstopavto-su-v2`. Этот репозиторий на GitHub — резервная копия.
|
||||||
|
|
||||||
## Быстрый старт
|
## Стек
|
||||||
|
|
||||||
|
- **Astro 5** SSG — две страницы: `/` и `/privacy/`
|
||||||
|
- **nginx:1.29-alpine** в runtime-контейнере
|
||||||
|
- **IBM Plex Sans** (через `@fontsource/ibm-plex-sans`)
|
||||||
|
- **@astrojs/sitemap** — `sitemap-index.xml` автоматически
|
||||||
|
|
||||||
|
## Деплой
|
||||||
|
|
||||||
|
`git push` → Gitea Actions (`.gitea/workflows/deploy.yml`) → SSH на `web.hhivp.com`:
|
||||||
|
1. `git pull --ff-only` в `/opt/docker/sites/pitstopavto-su-v2`
|
||||||
|
2. `docker compose build`
|
||||||
|
3. **Trivy** scan (HIGH/CRITICAL, warning-only)
|
||||||
|
4. `docker compose up -d` → healthcheck `http://127.0.0.1:4147/`
|
||||||
|
5. **IndexNow** ping (Яндекс + Bing)
|
||||||
|
6. `docker image prune -af --filter "until=168h"`
|
||||||
|
|
||||||
|
Контейнер `pitstopavto-su-v2:4147` за хостовым nginx.
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
См. [`SECURITY.md`](SECURITY.md) — Layer A+B+C:
|
||||||
|
|
||||||
|
- **A** (на push): Trivy + npm audit
|
||||||
|
- **B** (weekly): Nuclei DAST
|
||||||
|
- **C** (на push + MR): Hadolint + GitLeaks + Semgrep
|
||||||
|
|
||||||
|
## 152-ФЗ — consent-gated analytics
|
||||||
|
|
||||||
|
Я.Метрика № `47169531` (с Webvisor) и GA `GT-WRF7ZZ8` подключаются только после клика «Принять» в баннере `src/components/CookieConsent.astro`.
|
||||||
|
|
||||||
|
## IndexNow
|
||||||
|
|
||||||
|
Ключ: `901a779d62ca4702ad810c863b45e1f7`
|
||||||
|
Скрипт: `scripts/indexnow.js` запускается из CI после healthcheck.
|
||||||
|
|
||||||
|
## Локальная разработка
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm install
|
npm install
|
||||||
npm run dev # http://localhost:4321
|
npm run dev # → http://localhost:4321
|
||||||
npm run build # → dist/
|
npm run build # → dist/
|
||||||
npm run preview
|
npm run preview
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## История
|
||||||
|
|
||||||
|
- **2026-05-22:** v2 — Astro 5, миграция с WP-стенда «Мы переехали».
|
||||||
|
- **2026-05-23:** WP-стенд удалён, бэкап `/opt/backup/pitstopavto-pre-removal-*`.
|
||||||
|
|
||||||
|
## Контакты
|
||||||
|
|
||||||
|
- Email: admin@hhivp.com
|
||||||
|
- Site: https://hhivp.com/
|
||||||
|
|||||||
Reference in New Issue
Block a user