ΠΡΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ-ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π±Π»ΠΎΠ³, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ Astro 5. ΠΡΠΎΠ΅ΠΊΡ ΡΠ»ΡΠΆΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΌ ΡΡΠ°Π»ΠΎΠ½ΠΎΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΡ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Docker ΠΈ Docker Compose, ΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ β ΠΎΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎ production.
ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ β ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ²:
- Docker-First: ΠΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠ°ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ±Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² Docker-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ . ΠΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΠ°Π·Ρ "Ρ ΠΌΠ΅Π½Ρ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ" ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΡ ΡΡΠ΅Π΄.
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Security by Design): ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ β Π½Π΅ Π·Π°ΠΏΠΎΠ·Π΄Π°Π»Π°Ρ ΠΌΡΡΠ»Ρ, Π° ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ»ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΏΠ΅Π½ΡΠ°ΡΡΠ΅ Docker-ΡΠ±ΠΎΡΠΊΠΈ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΎΡ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠ°Π½ΠΈΡΡΠ΅ΠΌ Π²Π²ΠΎΠ΄Ρ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΠ΅ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
- ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ SEO ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π°: Π‘Π°ΠΉΡ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ Astro, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ Π³Π΅ΠΎ-ΡΠ°ΡΠ³Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ Π²Π½Π΅Π΄ΡΡΠ΅ΠΌ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΈΠ»ΡΡΡΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Core Web Vitals ΠΈ SEO.
- Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠ΅ΠΊ: ΠΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Astro 5 Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Vite, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΌΠΎΠ»Π½ΠΈΠ΅Π½ΠΎΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΡΠ±ΠΎΡΠΊΡ.
- ΠΠΎΠ»Π½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΡ: ΠΠΎΡΠΎΠ²ΠΎΠ΅ ΠΊ Π·Π°ΠΏΡΡΠΊΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ Docker ΠΈ Docker Compose.
DockerfileΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠ±ΡΠ°Π·Π° Π·Π° ΡΡΠ΅Ρ multi-stage builds ΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΎΡ non-root ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. - ΠΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³: ΠΡΠΎΠ΅ΠΊΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅
output: 'server'Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ API, ΠΏΡΠΈ ΡΡΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΡΠ°Π½ΠΈΡ (Π³Π»Π°Π²Π½Π°Ρ, Π±Π»ΠΎΠ³, ΠΏΡΠΎΠ΅ΠΊΡΡ, ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ) ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ Π² ΡΡΠ°ΡΠΈΠΊΡ (prerender = true) Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. - ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠ΅ΠΎ-Π’Π°ΡΠ³Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ SEO-ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΡΡΠ°Π½ΠΈΡ ΡΡΠ»ΡΠ³ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
Π³ΠΎΡΠΎΠ΄ΠΎΠ² (
/uslugi/[city]) Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΡΠ»ΡΡΠΈΡΠ·ΡΡΠ½ΠΎΡΡΠΈ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠ΅ΠΉ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡ Π²sitemap.xml. - ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ API-ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ: Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠ΅ API-ΡΠΎΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΡΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΠΈ Π±ΡΠΈΡΠΎΠ², Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· Zod ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ HTML-ΡΠ°Π½ΠΈΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π²Π²ΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ XSS-Π°ΡΠ°ΠΊ.
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Telegram: ΠΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Ρ ΡΠ°ΠΉΡΠ° ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² Telegram-ΡΠ°Ρ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ API Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
- ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠ°Ρ ΠΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΡ (i18n): ΠΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΡΠΊΠΎΠ³ΠΎ ΠΈ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠΎΠ² Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠ΅ΡΠΈΠΊΡΠ½ΡΠΌ ΡΠΎΡΡΠΈΠ½Π³ΠΎΠΌ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°ΠΌΠΈ.
- Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ SEO: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ
sitemap.xml, ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉrobots.txt, Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ JSON-LD Schema.org Π½Π° Π³Π΅ΠΎ-ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ° Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΠΎΡΡΠΈ Π² ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . - Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ: Π‘ΡΠ°ΡΡΠΈ Π±Π»ΠΎΠ³Π°, ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Astro Content Collections (Markdown) Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
- Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ: Astro 5
- Π‘ΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ: Node.js 24 LTS
- Π―Π·ΡΠΊ: TypeScript
- ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΡ: Docker, Docker Compose
- ΠΠ΄Π°ΠΏΡΠ΅Ρ SSR:
@astrojs/node - CI/CD: ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΏΠ΅Π½ΡΠ°ΡΡΠΉ (multi-stage)
DockerfileΡHEALTHCHECKΠ΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Telegram Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
-
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»
.envΠ² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ·.env.example, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΡΡ). -
ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅
.envΠ²Π°ΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ΅ΡΠ΅Π· Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρenv_fileΠ²docker-compose.yml.# .env # Π’ΠΎΠΊΠ΅Π½ Π²Π°ΡΠ΅Π³ΠΎ Telegram-Π±ΠΎΡΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΎΡ @BotFather BOT_TOKEN="ΠΠΠ¨_Π’ΠΠΠΠΠ ΠΠ_ΠΠΠ’_Π’ΠΠΠΠ" # ID Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΡΠ° ΠΈΠ»ΠΈ ΠΊΠ°Π½Π°Π»Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ CHAT_ID="ΠΠΠ¨_Π’ΠΠΠΠΠ ΠΠ_Π§ΠΠ’_ID" # (ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) ID ΡΠΎΠΏΠΈΠΊΠ° (Π²Π΅ΡΠΊΠΈ) Π² Π³ΡΡΠΏΠΏΠ΅ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ TOPIC_ID="ID_Π’ΠΠΠΠΠ_Π_ΠΠ Π£ΠΠΠ"
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ. ΠΠ½ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ.
-
ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
git clone [https://github.com/AVP-Dev/avpdev.com.git](https://github.com/AVP-Dev/avpdev.com.git) cd avpdev.com -
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ: Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»
.env, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅. -
Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ: ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ±Π΅ΡΠ΅Ρ Docker-ΠΎΠ±ΡΠ°Π·, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
docker compose up --build -d
-
ΠΠΎΡΠΎΠ²ΠΎ! Π‘Π°ΠΉΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ:
http://localhost:3000.
- ΠΡΠΎΡΠΌΠΎΡΡ Π»ΠΎΠ³ΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΠ° Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ:
docker compose logs -f
- ΠΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² (Ρ ΠΎΡΠΈΡΡΠΊΠΎΠΉ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ
ΡΠΎΠΌΠΎΠ²):
docker compose down -v
- ΠΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠ° ΠΎΠ±ΡΠ°Π·Π° ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ°:
docker compose up --build -d
- ΠΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° (Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ):
docker compose exec astro-app sh
ΠΡΠΎΠ΅ΠΊΡ Π½Π°ΡΡΡΠΎΠ΅Π½ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· GitHub Actions ΠΈ Coolify.
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Coolify ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Deploy Webhook URL.
- Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ GitHub ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Settings > Secrets and variables > Actions.
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΊΡΠ΅Ρ
COOLIFY_WEBHOOKΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΡΠ΄Π° URL.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΡΠ΅ Π² Π²Π΅ΡΠΊΡ main GitHub Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡΡ Coolify ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠΈ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΡ.
ΠΡΠΈ ΡΠΊΡΠΈΠΏΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ Dockerfile Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ, Π½ΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π±Π΅Π· Docker (Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ).
| Π‘ΠΊΡΠΈΠΏΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
npm run dev |
ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ Π³ΠΎΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ. |
npm run build |
Π‘ΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π΄Π»Ρ production. |
npm run preview |
ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. |
npm run astro sync |
ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠΈΠΏΡ TypeScript Π΄Π»Ρ Content Collections ΠΈ astro:content. |
ΠΡΠΎΠ΅ΠΊΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ. Π² ΡΠ°ΠΉΠ»Π΅ LICENSE.