- Скопируй репозиторий
git clone https://github.com/Alexandrhub/test_fastapi.git - Перейди в папку
cd test_fastapi, скопируй файлы конфигурацииcd .env.example .env-non-devи заполни их. - Выбери своё виртуальное окружение и запусти команду
make install-depsдля установки всех зависимостей. - Для запуска миграций
make migrate - Линтеры и форматтеры
make blackиmake flake8 - Для локального запуска введи команду
make run - При проблемах с запуском попробуйте команду
make clean - Для запуска всех сервисов (БД, Redis, веб-сервер (FastAPI), Celery, Flower, Grafana, Prometheus) необходимо использовать файл docker-compose.yml и команды
make upилиmake downдля запуска и остановки соответственно
Для запуска Celery используется команда
celery --app=app.tasks.celery:celery worker -l INFO -P solo
Обратите внимание, что -P solo используется только на Windows, так как у Celery есть проблемы с работой на Windows.
Для запуска Flower используется команда
celery --app=app.tasks.celery:celery flower
Они уже включены в настройки запуска докер контейнера
Если вы меняли что-то внутри Dockerfile, то есть меняли логику составления образа
Запустите команду docker build .
Для настройки логирования зарегистрируйтесь на офф.сайте или зайдите через гугл/гитхаб Выберите фреймворк своего проекта и скопируйте sentry_dns, который вам предложат и введите его в .env-non-dev файл.
- Для входа в кабинет нужно указать
username: admin, password: admin - Потом переопределить пароль
- Чтобы заработали графики вы должны в grafana-dashboard указать свой uid в следующем куске кода:
"datasource":{"type": "prometheus","uid": "ВАШ UID"} - Взять его можно из json-схемы предустановленных дашбордов
(в настройках add data source -> prometheus -> "выбираем имя"). Затем в Dashboards -> import -> Вставляем содержимое grafana-dashboard.json и выбираем какой-нибудь случайный uuid(и имя для дашборда) - Если не интересуют метрики / логирование можно отключить закоментировав строчки с sentry и instumentator в файле app/main.py и docker-compose
- Swagger UI localhost:8000/docs
- ReDoc localhost:8000/redoc
- Api routes localhost:8000/api/v1/docs
Любые комментарии, исправления, замечания пишите мне в телеграм.