Kittygram - веб-сервис для любителей котиков. Вы сможете делиться фотографиями и достижениями своих питомцев, а также посмотреть на других.
- На GitHub форкнуть и клонировать репозиторий:
git@github.com:Lif-a-nova/kittygram.git
- Создать и активировать виртуальное окружение:
python -m venv venv source venv/bin/activate
- Создать необходимый файл с секретами .env (в корне проекта).
- Собрать и сбилдить образы на свой DockerHub (из корня проекта):
cd frontend docker build -t "username"/kittygram_frontend . cd ../backend docker build -t "username"/kittygram_backend . cd ../nginx docker build -t "username"/kittygram_gateway . docker push "username"/kittygram_frontend docker push "username"/kittygram_backend docker push "username"/kittygram_gateway
- Развернуть на рабочем сервере ОС на ядре Linux. (В проекте использовалась серверная версия ОС Ubuntu)
- На сервере выполнить следующее:
-- Nginx:
Установить Nginx на сервер:
-- Установить и запустит файрвол:
sudo apt install nginx -y - изменить настройки с учетом своего ip и проксирования: sudo nano /etc/nginx/sites-enabled/default - проверить файл конфигурации на ошибки: sudo nginx -t sudo systemctl start nginx
-- Docker Установить Docker и Docker Compose на сервер:sudo ufw allow 'Nginx Full' sudo ufw allow OpenSSH sudo ufw enable sudo ufw status
-- Создать в корне каталога пустую дирректорию проекта: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
-- Запустить в режиме «демона» файл docker-compose.production.yml:sudo mkdir kittygram cd kittygram - скопировать любым удобным образом 2 файла проекта: docker-compose.production.yml и .env
-- Перезагрузить конфигурацию Nginx: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/
sudo systemctl reload nginx
- Не забыть:
Пользоваться с удовольствием!