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
|
||||
**Контейнер:** `pitstopavto-su-v2` на `web.hhivp.com:4147`
|
||||
**Production:** https://pitstopavto.su
|
||||
|
||||
См. [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
|
||||
npm install
|
||||
npm run dev # http://localhost:4321
|
||||
npm run dev # → http://localhost:4321
|
||||
npm run build # → dist/
|
||||
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