Настройка dev-окружения
Для запуска Паприки нужны следующие пакеты:
git
make
docker
Для настройки dev-окружения выполните команду:
Эта команда создаст необходимые контейнеры и .env
файл в корне проекта.
ВАЖНО: На данный момент также необходимо сделать следующее
- Создать отдельный
.env
в корне фронтенда со следующим содержимым:
это адрес и порт на котором запускается dev-контейнер бэкенда.
- Выполнить в корне фронтенда команду
чтобы создать папку node_modules
. Это необходимо для запуска контейнера со фронтендом.
Запуск dev-версии
Наполняем сайт данными
Предполагается, что у вас есть дамп данных и медиа-файлы. TODO: нужен небольшой демо-проект.
Ниже есть инструкция как скачать данные с рабочего сервера.
Заполняем базу данных
Копируем дамп данных в докер и запускаем команду loaddata
:
sudo cp /path/to/dump.json /var/lib/docker/volumes/paprika_media_volume/_data
docker compose --file docker-compose-dev.yml exec paprika-app ./manage.py loaddata media/dump.json
Копируем медиа-файлы
Предположим, что медиа-файлы скачаны в папку paprika_media
. Копируем содержимое этой папки в докер:
sudo rsync -ahr --progress /path/to/paprika_media/* /var/lib/docker/volumes/paprika_media_volume/_data
После этого все картинки и видео должны корректно отображатся на сайте.
Скачать дамп с рабочего сервера
Здесь и далее paprika-prod
— это ssh алиас для рабочего сервера.
ssh paprika-prod "cd paprika/ && docker compose exec paprika-app python manage.py dumpdata --exclude=contenttypes --exclude=auth.permission > datadump.json"
scp paprika-prod:paprika/datadump.json ./datadump.json
ssh paprika-prod "rm paprika/datadump.json"
Скачать медиа с рабочего сервера
Скачать всю папку целиком:
Скачать только *.jpg
с сохранением структуры директорий:
rsync -avz --progress --log-file=rsync.log --include='*/' --include='*.jpg' --exclude='*' paprika-prod:/mnt/NAS/media .
Важно:
- Порядок include/exclude важен. Сначала разрешаем вход в директории (*/) и включаем нужные файлы, потом всё остальное исключаем.
- Убедитесь, что на стороне источника есть доступ к файлам (права чтения).