Персональный инструмент для управления и мониторинга VPS серверов.
Когда у тебя 20+ серверов на разных хостингах с разными датами оплаты — это хаос. Платные альтернативы существуют, но зачем платить, если можно сделать своё?
- Организация: папки для группировки серверов (по проектам, хостингам, etc.)
- Учёт: IP, название, дата оплаты, цена
- Мониторинг: автоматический пинг для проверки доступности
- [Будущее]: агент на серверах для сбора метрик (CPU, RAM, диск)
| Компонент | Технология |
|---|---|
| Frontend | React + Vite + TypeScript |
| Backend | Python + FastAPI |
| Database | PostgreSQL |
| ORM | SQLAlchemy 2.0 + Alembic |
| Containers | Docker + Docker Compose |
vps-manager/
├── docker-compose.yml
├── backend/
│ ├── Dockerfile
│ ├── requirements.txt
│ ├── alembic/ # миграции БД
│ └── app/
│ ├── main.py # точка входа FastAPI
│ ├── config.py # настройки
│ ├── database.py # подключение к БД
│ ├── models/ # SQLAlchemy модели
│ ├── schemas/ # Pydantic схемы
│ ├── routers/ # API endpoints
│ ├── services/ # бизнес-логика
│ └── monitoring/ # пинг, метрики
├── frontend/
│ ├── Dockerfile
│ ├── package.json
│ └── src/
│ ├── components/
│ ├── pages/
│ ├── api/
│ └── hooks/
└── nginx/ # reverse proxy (для прода)
Это pet-проект для обучения, а не гонка за результатом.
Принципы:
- Понимание важнее скорости — разбираемся в каждой части, не копируем бездумно
- Итеративность — сначала минимум, потом улучшаем
- Без over-engineering — никакой авторизации, пока не нужна
- Docker-first — всё в контейнерах с первого дня
Текущий этап: базовая структура + docker-compose
# Поднять всё
docker-compose up -d
# Только база (для локальной разработки)
docker-compose up -d db
# Логи
docker-compose logs -f backend- Структура проекта
- Docker Compose конфигурация
- Модели данных (Folder, Server)
- CRUD API
- Базовый UI
- Фоновый мониторинг (пинг)
- Уведомления о недоступности
- Напоминания об оплате
Разработка: Windows / Деплой: Ubuntu