kittygram_django_react
所属分类:Linux/Unix编程
开发工具:JavaScript
文件大小:0KB
下载次数:0
上传日期:2023-09-11 12:07:49
上 传 者:
sh-1993
说明: Kittygram-ПриЛоениеДлобмеафотоПитОмтееВ。控制中心CD。,
(Kittygram - приложение для обмена фото питомцев. Проект запущен на виртуальном удалённом сервере c CI CD.,)
文件列表:
.env.example (106, 2023-11-29)
backend/ (0, 2023-11-29)
backend/.dockerignore (45, 2023-11-29)
backend/Dockerfile (220, 2023-11-29)
backend/api/ (0, 2023-11-29)
backend/api/tests.py (803, 2023-11-29)
backend/cats/ (0, 2023-11-29)
backend/cats/__init__.py (0, 2023-11-29)
backend/cats/admin.py (0, 2023-11-29)
backend/cats/apps.py (140, 2023-11-29)
backend/cats/migrations/ (0, 2023-11-29)
backend/cats/migrations/0001_initial.py (1940, 2023-11-29)
backend/cats/migrations/__init__.py (0, 2023-11-29)
backend/cats/models.py (1013, 2023-11-29)
backend/cats/serializers.py (3087, 2023-11-29)
backend/cats/tests.py (618, 2023-11-29)
backend/cats/views.py (609, 2023-11-29)
backend/kittygram_backend/ (0, 2023-11-29)
backend/kittygram_backend/__init__.py (0, 2023-11-29)
backend/kittygram_backend/asgi.py (411, 2023-11-29)
backend/kittygram_backend/settings.py (3070, 2023-11-29)
backend/kittygram_backend/urls.py (761, 2023-11-29)
backend/kittygram_backend/wsgi.py (411, 2023-11-29)
backend/manage.py (688, 2023-11-29)
backend/requirements.txt (228, 2023-11-29)
docker-compose.production.yml (649, 2023-11-29)
docker-compose.yml (544, 2023-11-29)
frontend/ (0, 2023-11-29)
frontend/.dockerignore (19, 2023-11-29)
frontend/Dockerfile (238, 2023-11-29)
frontend/package-lock.json (1114663, 2023-11-29)
frontend/package.json (846, 2023-11-29)
... ...
# Kittygram - блог для размещение фотографий котиков.
### Описание проекта:
Проект Kittygram даёт возможность пользователям поделиться фотографиями своих любимымих котиков. Зарегистрированные пользователи могут создавать, просматривать, редактировать и удалять свои записи.
### Установка проекта:
- Клонироуйте репозиторий:
```bash
git clone git@github.com:/kittygram_django_react.git
```
```bash
cd kittygram
```
- Создайте файл .env и заполните его своими данными:
```bash
# Секреты DB
POSTGRES_USER=[имя_пользователя_базы]
POSTGRES_PASSWORD=[пароль_к_базе]
POSTGRES_DB= [имя_базы_данных]
DB_PORT=[порт_соединения_к_базе]
DB_HOST=[db]
```
### Создание Docker-образов
1. Замените username на ваш логин на DockerHub:
```bash
cd frontend
docker build -t username/kittygram_frontend .
cd ../backend
docker build -t username/kittygram_backend .
cd ../nginx
docker build -t username/kittygram_gateway .
```
2. Загрузите образы на DockerHub:
```bash
docker push username/kittygram_frontend
docker push username/kittygram_backend
docker push username/kittygram_gateway
```
### Деплой на удалённый сервере
1. Подключитесь к удаленному серверу
```bash
ssh -i путь_до_файла_с_SSH_ключом/название_файла_с_SSH_ключом имя_пользователя@ip_адрес_сервера
```
2. Создайте на сервере директорию kittygram через терминал
```bash
mkdir kittygram
```
3. Установка docker compose на сервер:
```bash
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
```
4. В директорию kittygram/ скопируйте файлы docker-compose.production.yml и .env:
```bash
scp -i path_to_SSH/SSH_name docker-compose.production.yml username@server_ip:/home/username/kittygram/docker-compose.production.yml
```
5. Запустите docker compose в режиме демона:
```bash
sudo docker compose -f docker-compose.production.yml up -d
```
6. Выполните миграции, соберите статику бэкенда и скопируйте их в /backend_static/static/:
```bash
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/
```
7. На сервере в редакторе nano откройте конфиг Nginx:
```bash
sudo nano /etc/nginx/sites-enabled/default
```
8. Добавте настройки location в секции server:
```bash
location / {
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:9000;
}
```
9. Проверьте работоспособность конфигураций и перезапустите Nginx:
```bash
sudo nginx -t
sudo service nginx reload
```
### Технологии и необходимые инструменты:
- Docker
- Postgres
- Python 3.x
- Node.js 9.x.x
- Git
- Nginx
- Gunicorn
- Django (backend)
- React (frontend)
Автор:
[Ekaterina Tarasenko](https://github.com/kora21/)
近期下载者:
相关文件:
收藏者: