Простая система для управления музыкальными файлами с веб-интерфейсом и Telegram ботом.
-
Настройка переменных окружения:
# Отредактируйте .env файл с параметрами вашей удаленной MySQL базы данных nano .env -
Запуск всей системы:
docker compose up -d
-
Первый запуск: При первом запуске система автоматически:
- Создаст все необходимые таблицы в базе данных
- Импортирует музыкальные термины из
files/terms.csvв базу данных - Настроит начальные данные (пользователи, категории, композиторы)
-
Доступ к сервисам:
- Frontend: http://localhost
- Backend API: http://localhost:3000
- Здоровье системы: http://localhost:3000/health
Система автоматически создает следующие таблицы при первом запуске:
composers- композиторыcategories- категории произведенийworks- музыкальные произведенияusers- пользователи системыcollections- пользовательские коллекцииcollection_items- элементы коллекцийterms- музыкальные терминыfiles- информация о файлах
Также автоматически импортируются музыкальные термины из files/terms.csv в таблицу terms.
# Запуск
docker-compose up -d
# Остановка
docker-compose down
# Логи
docker-compose logs -f
# Перезапуск
docker-compose restart
# Обновление
docker-compose down
docker-compose build --no-cache
docker-compose up -dОсновные настройки в .env:
DB_NAME- имя базы данныхDB_USER- пользователь БДDB_PASSWORD- пароль БДJWT_SECRET- секрет для JWT токеновTELEGRAM_BOT_TOKEN- токен Telegram бота
- Музыкальные файлы:
./files/ - Загрузки:
./uploads/ - База данных: автоматически в Docker volume
music-library/
├── backend/ # Backend API (Node.js)
├── telegram-bot/ # Telegram бот (Python + Aiogram)
├── files/ # Библиотека нот (PDF файлы)
└── docker-compose.yml # Docker конфигурация
# Запуск всех сервисов
docker-compose up -d
# Или по отдельности
docker-compose up backend
docker-compose up telegram-botBackend API:
- RESTful API с OpenAPI документацией
- Middleware для авторизации и логирования
- Умный поиск с поддержкой опечаток
- Файловый менеджер для PDF файлов
Telegram Bot:
- Модульная архитектура с разделением на слои
- Middleware для авторизации и логирования
- Интеграция с Backend API через HTTP
- Локальное кеширование для производительности
# Тесты Backend
cd backend && npm test
# Проверка конфигурации Telegram Bot
cd telegram-bot && python check_config.py- Backend API:
backend/README.md - Telegram Bot:
telegram-bot/README.md - Wiki проекта:
Wiki(требования и спецификации)
- Найдите @BotFather в Telegram
- Отправьте команду
/newbot - Следуйте инструкциям для создания бота
- Получите токен и добавьте в
.envфайл - Настройте команды бота через @BotFather
Backend не запускается:
- Проверьте настройки БД в
.env - Убедитесь, что MySQL запущен
- Проверьте порт 3000
Telegram Bot не отвечает:
- Проверьте токен в
.env - Убедитесь, что Backend API доступен
- Проверьте логи:
make logs-telegram-bot
Файлы не загружаются:
- Проверьте права доступа к папке
files/ - Убедитесь в корректности путей в БД
# Проверка состояния всех сервисов
docker-compose ps
# Просмотр логов
docker-compose logs backend
docker-compose logs telegram-bot
# Проверка конфигурации бота
cd telegram-bot && python check_config.pyMIT License - см. LICENSE файл для деталей.
Музыкальная библиотека для валторны - специализированная система для музыкантов и педагогов.
🎵 Добро пожаловать в мир музыки! 🎵