NikitaRusanov / simple-blog

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple blog api

REST API блога, разработанное с использованием FastAPI и SQLAlchemy, в качестве базы данных испольхуется postgres 16. Тесты написаны с помощью pytest.

Как запустить

Для запуска сервиса понадобится установленный Docker

  1. Клонируем репозиторий git clone https://github.com/NikitaRusanov/simple-blog.git
  2. Создаем .env файл или устанавливаем переменные окружения:
    1. DB_HOST=database (адресс БД, совпадает с именем сервиса в конфигурации docker compose)
    2. DB_PORT=5432 порт БД (по умолчанию 5432)
    3. DB_NAME имя БД
    4. DB_USER имя пользователя БД
    5. DB_PASS пароль пользователя БД
    6. POSTGRES_USER имя пользователя БД для конфигурации postgres (доллжно совпадать с DB_USER)
    7. POSTGRES_DB имя БД для конфигурации postgres (доллжно совпадать с DB_NAME)
    8. POSTGRES_PASSWORD пароль пользователя БД для конфигурации postgres (доллжно совпадать с DB_PASS)
    9. PRIVATE_KEY_PATH и PUBLIC_KEY_PATH пути к приватному и публичному ключу (по умолчанию проверяюся файлы private.pem и public.pem в катоголе certs в корне проекта)
  3. Необязательные переменные окружения
    1. DEBUG=False вывод отладочных сообщений в консоль
  4. Для запуска сервиса можно воспользоваться командой make run в корне проекта или поднять контейнеры напрямую с помощью docker compose: docker-compose --env-file={path/to/dotenv} -f docker-compose.yml up -d
  5. После запуска сервис будет доступен на 8000 порту
  6. Для просмотра логов можно воспользоваться командой make logs
  7. Чтобы остановиь сервис можно воспользоваться командой make stop или сделать это напрямую с помощью docker compose: docker-compose -f docker-compose.yml down -v
  8. Для запуска тестов нужно созать переменные тестового окружения в фалйе .test.env и выполнить команду make run-tests

About


Languages

Language:Python 97.2%Language:Makefile 1.5%Language:Dockerfile 1.3%