# Пилот подсистема рекомендательных сервисов ### Инструкция по развёртыванию проекта: - Установите [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)