Ссылка на Kittygram: https://kittygramich.ddnsking.com/
Kittygram - социальная сеть для любителей котиков, которые хотят делиться увлекательными фотографиями своих пушистых компаньонов. Этот проект включает в себя полностью функциональное бэкэнд-приложение на Django и фронтэнд-приложение на React.
Является альтернативным варинатом Kittygram с использованием Docker контейнеров
Целью проекта является практическое погружение в развертывание проекта на сервере с помощью контейнеров Docker.
- Регистрация и авторизация пользователей
- Добавление и изменение профилей котиков
- Просмотр и взаимодействие с публикациями других пользователей
- Python (Бэкенд)
- React (Фронтенд)
- WSGI-сервер Gunicorn
- WEB-сервер Nginix
- Зарегистрированное доменное имя No-ip
- Шифрование через HTTPS Let's Encrypt
- Мониторинг доступности и сбор ошибок UptimeRobot
- Для обеспечения безопасности, секреты подгружаются из файла .env. В файле .env содержатся важные константы, которые строго исключены из хранения в коде проекта. Настройка находится в блоке "Как запустить Kittygram".
- Docker
- Автоматизирровано тестирование и деплой проекта Kittygram с помощью GitHub Actions
cd
mkdir kittygram
cd kittygram
sudo apt update
sudo apt install curl
curl -fSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
sudo apt-get install docker-compose-plugin
scp -i path_to_SSH/SSH_name docker-compose.production.yml \
username@server_ip:/home/username/kittygram/docker-compose.production.yml
scp -i path_to_SSH/SSH_name .env \
username@server_ip:/home/username/kittygram/.env
- path_to_SSH — путь к файлу с SSH-ключом;
- SSH_name — имя файла с SSH-ключом (без расширения);
- username — ваше имя пользователя на сервере;
- server_ip — IP вашего сервера.
sudo docker compose -f docker-compose.production.yml up -d
sudo docker compose -f docker-compose.production.yml exec backend python manage.py migrate
sudo docker compose -f docker-compose.production.yml exec backend python manage.py collectstatic
sudo docker compose -f docker-compose.production.yml exec backend cp -r /app/collected_static/. /backend_static/static/
git clone git@github.com:YaStirayuLaskoy/kittygram_final.git
sudo docker compose -f docker-compose.yml up
docker compose -f docker-compose.production.yml exec backend python manage.py migrate
docker compose -f docker-compose.production.yml exec backend python manage.py collectstatic
docker compose -f docker-compose.production.yml exec backend cp -r /app/collected_static/. /backend_static/static/