Skip to main content
Glama
ASXRND

MCP Weather & Accruals Server

by ASXRND
QUICK_DEPLOYMENT.md7.51 kB
# ⚡ Быстрое развёртывание FastAPI для начисления ## 🚀 В одну команду (на удалённом сервере) ### Предварительные условия - SSH доступ к 192.168.0.137 - Python 3.8+ с venv - Git (опционально) ### Команды развёртывания ```bash # 1. Синхронизация кода с локальной машины rsync -avz --delete \ /Users/aleksandrhohon/Downloads/OpenWeatherMap_MCP-main/fastapi_udalennii/ \ 192.168.0.137:/opt/fastapi_udalennii/ # 2. SSH на удалённый сервер ssh 192.168.0.137 # 3. На удалённом сервере: cd /opt/fastapi_udalennii && \ source venv/bin/activate && \ pip install -r requirements.txt && \ alembic upgrade head && \ supervisorctl restart fastapi_app # 4. Проверка curl http://192.168.0.137:8000/health ``` --- ## 📋 Пошаговое развёртывание ### Локально (ваша машина) ```bash # 1. Перейдите в каталог проекта cd /Users/aleksandrhohon/Downloads/OpenWeatherMap_MCP-main # 2. Синхронизируйте код на удалённый сервер rsync -avz --delete \ ./fastapi_udalennii/ \ 192.168.0.137:/opt/fastapi_udalennii/ # Если нужно указать пользователя: rsync -avz --delete -e "ssh -l username" \ ./fastapi_udalennii/ \ 192.168.0.137:/opt/fastapi_udalennii/ ``` ### На удалённом сервере ```bash # 1. Подключение ssh 192.168.0.137 # или ssh username@192.168.0.137 # 2. Перейдите в каталог cd /opt/fastapi_udalennii # 3. Активируйте виртуальное окружение (если не создано) python3 -m venv venv source venv/bin/activate # 4. Установите зависимости pip install -r requirements.txt # 5. Запустите миграции БД alembic upgrade head # 6. Перезагрузите FastAPI сервис # Опция A: supervisor supervisorctl restart fastapi_app # Опция B: systemd sudo systemctl restart fastapi_app # Опция C: gunicorn вручную (если нет supervisor/systemd) pkill -f "gunicorn.*fastapi" || true gunicorn --workers 4 \ --worker-class uvicorn.workers.UvicornWorker \ --bind 0.0.0.0:8000 \ --daemon \ app.main:app # 7. Проверьте статус curl http://192.168.0.137:8000/health curl http://192.168.0.137:8000/docs # OpenAPI UI ``` --- ## ✅ Проверка после развёртывания ### Endpoints для проверки ```bash # Health check curl http://192.168.0.137:8000/health # Ожидается: {"status": "ok"} # OpenAPI документация curl http://192.168.0.137:8000/docs # Должна открыться веб-интерфейс с документацией # Получить список всех начисления curl http://192.168.0.137:8000/accruals/ # Ожидается: JSON массив (может быть пустой) # Получить статистику curl http://192.168.0.137:8000/stats/summary # Ожидается: JSON с total_count, total_amount и т.д. ``` ### Создание тестовой записи ```bash curl -X POST http://192.168.0.137:8000/accruals/ \ -H "Content-Type: application/json" \ -d '{ "id_accrual": "TEST_001", "accrual_date": "2025-12-08", "service_group": "Доставка", "accrual_type": "Комиссия", "sales_platform": "Ozon", "total_amount_rub": 1000.00 }' ``` --- ## 🔧 Для разработчиков ### Работа с миграциями ```bash # Просмотр статуса миграций alembic current # Просмотр истории миграций alembic history # Запуск новой миграции (после изменения моделей) alembic revision --autogenerate -m "Описание изменений" alembic upgrade head # Откат на одну версию назад alembic downgrade -1 # Откат на конкретную версию alembic downgrade 0001_create_users ``` ### Работа с БД напрямую ```bash # Подключение к PostgreSQL psql postgresql://asx:asxAdmin1@192.168.0.134:5432/mydb # В psql: \dt # Список таблиц SELECT * FROM accruals; # Просмотр записей ``` ### Логирование ```bash # Просмотр логов FastAPI (если используется supervisor) supervisorctl tail fastapi_app # Или (если используется systemd) sudo journalctl -u fastapi_app -f # Или (если запущен в foreground) tail -f /var/log/fastapi_app.log ``` --- ## 🚨 Решение проблем ### Ошибка: "Connection refused" ```bash # Проверьте, что FastAPI запущен curl -v http://192.168.0.137:8000/health # Проверьте слушающие порты netstat -tlnp | grep 8000 # Проверьте логи supervisorctl tail fastapi_app ``` ### Ошибка миграций: "Revision doesn't exist" ```bash # Проверьте текущую версию миграции alembic current # Список всех версий alembic history # Если нужно синхронизировать: alembic stamp 0001_create_users # Установить на последнюю известную alembic upgrade head ``` ### Ошибка БД: "No such table" ```bash # Убедитесь, что миграции запущены alembic upgrade head # Проверьте, что таблица создана psql postgresql://asx:asxAdmin1@192.168.0.134:5432/mydb \ -c "SELECT * FROM accruals LIMIT 1;" ``` ### Ошибка импорта модулей ```bash # Убедитесь, что venv активирован source venv/bin/activate # Переустановите зависимости pip install --upgrade -r requirements.txt # Проверьте Python версию (должна быть 3.8+) python --version ``` --- ## 🔒 Security Checklist - [ ] Изменены пароли БД - [ ] Настроена переменная окружения DATABASE_URL - [ ] Активирован HTTPS (если нужно) - [ ] Настроен firewall для открытия только необходимых портов - [ ] Файл .env добавлен в .gitignore - [ ] Логирование настроено и включено - [ ] Настроены backup'ы БД --- ## 📊 Мониторинг ```bash # Проверка нагрузки на сервер top # Проверка используемого диска df -h # Проверка памяти free -h # Проверка загрузки БД psql postgresql://asx:asxAdmin1@192.168.0.134:5432/mydb -c \ "SELECT COUNT(*) FROM accruals;" # Статистика подключений psql postgresql://asx:asxAdmin1@192.168.0.134:5432/mydb -c \ "SELECT datname, count(*) FROM pg_stat_activity GROUP BY datname;" ``` --- ## 🎯 Итого После развёртывания: - ✅ FastAPI доступен на `http://192.168.0.137:8000` - ✅ Endpoints для accruals работают - ✅ Статистика и фильтрация доступны - ✅ Интеграция с Deepseek работает через ACCRUALS_API_URL **Готово к использованию! 🚀**

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ASXRND/MCP_deepseek'

If you have feedback or need assistance with the MCP directory API, please join our Discord server