You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
3.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Пилот подсистема рекомендательных сервисов
### Инструкция по развёртыванию проекта:
- Установите [docker](https://docs.docker.com/engine/install/ubuntu/)
- Установите [docker compose](https://docs.docker.com/compose/install/)
- Положите файлы из репозитория в папку:
- через GIT:
```bash
git clone git@gitlab.com:endwork_today/dit.git
cd dit
git submodule update --init
mkdir pg_dumps
sudo chown -R 999:999 pg_dumps
```
- или архивом (должно быть два файла: dit.zip и dit_frontend.zip)
```bash
unzip dit.zip
mv dit-main dit
unzip dit_frontend -d dit
cd dit
mv dit_frontend-main/*(D) dit_frontend
rm -rf dit_frontend-main
mkdir pg_dumps
sudo chown -R 999:999 pg_dumps
```
- создайте файл ```dit/.env``` на основе файла ```dit/.env.like```
- создайте файл ```dit/nginx/nginx.conf``` на основе файла ```dit/nginx/nginx.conf.like```
- добавьте сертификаты SSL для домена frontend и для домена backend в папку ```dit/nginx/certs```
- пример создания SSL сертификатов для домена: [LE для NGINX](https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/)
- пример структуры папки ```dit/nginx``` для файла ```dit/nginx/nginx.conf.like```
```
├── certs
│ ├── front
│ │ ├── README
│ │ ├── cert.pem
│ │ ├── chain.pem
│ │ ├── fullchain.pem
│ │ └── privkey.pem
│ ├── options-ssl-nginx.conf
│ └── ssl-dhparams.pem
├── nginx.conf
└── nginx.conf.like
```
- Запустите проект:
```sudo docker-compose up --build```
- Теперь проект доступен по адресу:
[https://REACT_APP_DOMAIN/](https://REACT_APP_DOMAIN/)
- После запуска проекта создайте администратора доступа:
```sudo docker exec -it business_spatiality_django python manage.py createsuperuser```
- Система администрирования проекта по адресу (используйте логин и пароль администратора доступа):
[https://REACT_APP_DOMAIN/admin/](https://REACT_APP_DOMAIN/admin/)
### Команды для обновления проекта:
- Обновите проект и перезапустите его:
```bash
git pull
git submodule foreach git merge origin main
git submodule foreach git pull origin main
sudo docker stop business_spatiality_martin
sudo docker rm business_spatiality_martin
sudo docker-compose up --build
```
### Команды для бекапирования данных
- Создать бекап базы данных:
```bash
sudo docker exec -it business_spatiality_pgbackups bash /backup.sh
```
- Очистить базу данных:
```bash
sudo docker exec -it business_spatiality_django python manage.py flush
```
- Восстановление из бекапа:
```bash
cat pg_dumps/last/business_spatiality_db-latest.sql | sudo docker exec -i business_spatiality_db psql -U business_spatiality_user -p 5435 -d business_spatiality_db -W
```
- Настройка периодических бекапов:
Настройка, которая отвечает за это SCHEDULE: почитать о параметрах можно [тут](http://godoc.org/github.com/robfig/cron#hdr-Predefined_schedules)