71b37935c27b77361de79bfaa8eb4dd6ef4e8070
pushkinohistory.ru
Сайт «История города Пушкино» — портал с историческими материалами, новостями и агрегатором региональных RSS-источников.
Production: https://pushkinohistory.ru
Mirror. Source-of-truth:
git.striker.su/striker/pushkinohistory-ru-v2. Этот репозиторий на GitHub — резервная копия + площадка для GitHub Actions security-сканов.
Стек
- Astro 5 + Content Collections + markdown
- nginx:1.29-alpine в runtime-контейнере
- PT Serif (заголовки/тело статьи) + IBM Plex Sans (UI)
- sanitize-html — очистка тела поста для RSS
<content:encoded>с CDATA - fast-xml-parser — изолированный cron-агрегатор внешних RSS
Деплой
git push → Gitea Actions (.gitea/workflows/deploy.yml) → SSH на web.hhivp.com:
git pull --ff-onlyв/opt/docker/sites/pushkinohistory-ru-v2docker compose build- Trivy scan свежесобранного образа (HIGH/CRITICAL, warning-only)
docker compose up -d→ healthcheckhttp://127.0.0.1:4146/- IndexNow ping Яндекс/Bing (sitemap-based)
docker image prune -af --filter "until=168h"
Контейнер pushkinohistory-ru-v2:4146 за хостовым nginx.
Security
Все автоматические проверки описаны в SECURITY.md:
- Layer A (на каждый push): Trivy + npm audit
- Layer B (weekly cron на rd.hhivp.com): Nuclei DAST
- Layer C (на push + MR): Hadolint + GitLeaks + Semgrep
Локальная разработка
npm install
npm run dev # http://localhost:4321
npm run build # → dist/ (статика)
npm run preview
История
- 2026-05-21: v2 — Astro 5 + Content Collections.
- 2026-05-23: WordPress v1 контейнер удалён, бэкапы в
/opt/backup/.
Контакты
- Email: admin@hhivp.com
- Site: https://hhivp.com/
Description
Languages
Astro
45.4%
JavaScript
24%
TypeScript
14.7%
Python
8.7%
CSS
4.5%
Other
2.7%