Files
samreshu_docs/architecture/decisions/006-vps-docker-deploy.md
Anton 99cd8ae727 docs: add full project documentation
- Architecture: overview, 7 ADR, tech stack
- Principles: code-style, git-workflow, security
- API contracts: auth, profile, tests, admin endpoints
- Database schema: tables, relationships, indexes
- LLM strategy: prompts, fallback, validation, Qwen 2.5 14B
- Onboarding: setup, Docker, .env template
- Progress: roadmap, changelog
- Agents: context, backend instructions

Made-with: Cursor
2026-03-04 12:07:17 +03:00

45 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ADR-006: VPS + Docker Compose для деплоя
## Статус
Принято
## Контекст
Нужна стратегия деплоя для MVP. Критерии: простота, предсказуемая стоимость, контроль над сервером.
## Варианты
1. **VPS + Docker Compose** — один сервер, все сервисы в контейнерах, предсказуемая цена.
2. **Cloud managed (AWS ECS, Yandex Cloud)** — масштабирование, managed DB, но сложнее и дороже для MVP.
3. **PaaS (Railway, Render)** — самый простой деплой, но ограничения и непредсказуемые costs при росте.
## Решение
VPS + Docker Compose для MVP.
### Состав контейнеров
```
docker-compose.yml
├── backend (Fastify API)
├── frontend (nginx + React static build)
├── postgres (PostgreSQL)
├── redis (Redis)
└── nginx (reverse proxy, SSL termination)
```
### Почему VPS
- Полный контроль над сервером (LLM-логи, бэкапы, мониторинг)
- Фиксированная стоимость ~500-1500 руб/мес
- Docker Compose — один файл для всего окружения
- При росте — миграция на cloud без изменения контейнеров
## Последствия
- Нужно самостоятельно настраивать SSL (Let's Encrypt / certbot)
- Нет автоматического масштабирования (достаточно для MVP)
- Бэкапы БД — скрипт с cron
- Мониторинг — Sentry + базовые health checks