workflows

Kittygram — социальная сеть для размещения информации о котиках

Функции

  • Регистрация пользователей.
  • Добавить/редактировать/удалить информацию о питомце, в том числе:
    • подобрать окраску питомца.
    • рассказать о достижениях питомца.
    • указать год рождения питомца.
    • загрузить фото

Использованные технологии.

  • Python
  • Django Django REST Framework
  • PostgreSQL
  • Nginx gunicorn
  • Docker Docker-compose Docker Hub
  • GitHub%20Actions

Как развернуть проект на удаленном сервере

1. Форкнуть репозиторий и настроить в нем переменные окружения в окне Actions secrets and variables:

  • ALLOWED_HOSTS: список хостов/доменов (через запятую без пробелов)
  • DB_HOST: IP базы данных, или имя контейнера, где запущен сервер БД
  • DB_PORT: порт, по которому Django будет обращаться к базе данных
  • DOCKER_PASSWORD: пароль от вашего докер аккаунта
  • DOCKER_USERNAME: username вашего докер аккаунта
  • HOST: IP-адрес вашего сервера
  • POSTGRES_DB: название БД
  • POSTGRES_PASSWORD: пароль от БД
  • POSTGRES_USER: логин БД
  • SSH_KEY: содержимое закрытого ключа SSH для доступа к серверу
  • SSH_PASSPHRASE: passphrase для доступа к серверу
  • TELEGRAM_TO: ID вашего телеграм-аккаунта
  • TELEGRAM_TOKEN: токен вашего телеграм-бота
  • USER: ваше имя пользователя на сервере

2. На удаленном сервере:

  • установить Docker
  • создать директорию проекта /kittygram
  • в директории проекта создать разместить файл docker-compose.production.yml
  • в директории проекта создать файл .env с переменными окружения, которые указаны в файле .env.example (переменные описаны выше в пункте 1)

3. Клонировать форкнутый репозиторий на локальный компьютер.

4. Запуск проекта при пуше в Github (в ветку main).

Проект пройдёт встроенные тесты, создадутся необходимые файлы на сервере в директории ~/kittygram, будут запущены необходимые контейнеры

Автор

Dmitry Durapov

(на основе https://github.com/yandex-praktikum/kittygram_final)