Синхронизация облака книг PocketBook Cloud
Данная статья разработана и подготовлена в телеграмм канале Крипто Парень. Подписывайся на мой телеграмм канал, там много полезной и интересной информации по криптовалютам.
Предлагаю вам услуги своего бота, по заправке газом в сети TRC20.
Информацию по использованию и аренде газа в сети TRC20 можешь найти в моей группе TRON TRX SELL ENERGY
PocketBook Cloud
Есть такие читалки PocketBook, приложения-читалки на iphone и android. И естественно существует облако - объединяющее их всех: PocketBook Cloud
Данное облако позволяет хранить 5 Gb ваших книг, закладки и статусы чтения. Хранить и синхронизировать между всеми устройствами. Так же книги в облаке можно читать прямо в браузере.
Через данное облако удобно добавлять книги в читалки на всех ваших гаджетах. Но иногда нужно делать прямо противоположное - скачивать из облака уже добавленные книги.
Как выкачать все книги из PocketBook Cloud (синхронизировать)
Столкнулся я с таким своим косяком: Накачал книг, напихал их в PocketBook Cloud и удалил оригиналы. И.. Как выкачать их обратно? Никак. По одной если только качать. Пришлось гуглить - есть ли где функционал выкачки книг. Как оказалось, на гитхабе есть готовый докер с программой синхронизации. Данный контейнер позволяет скачивать книги на жесткий диск, и периодически проверять наличие новых книг в облаке. Такая своеобразная синхронизация.
Для запуска контейнера нам понадобится Docker. как его ставить и запускать не буду писать тут, легко все гуглится в интернете. Я настраивал все на Win10 машине - докер у меня там с графическим интерфейсом.
На компе создаем docker-compose.yml файл настроек с примерно таким содержанием:
version: '3.7'
services:
pocketbook-sync:
image: micronull/pbcsync:latest
container_name: pocketbook-sync
volumes:
- E:\PB\Books:/books # Локальный путь: Путь в контейнере
environment:
- PBC_CLIENT_ID=qNAx1RDb
- PBC_CLIENT_SECRET=K3YYSjCgDJNoWKdGVOyO1mrROp3MMZqqRNXNXTmh
- PBC_USERNAME=ЛОГИН_ОТ_ОБЛАКА
- PBC_PASSWORD=ПАРОЛЬ_ОТ_ОБЛАКА
- DAEMON=true # Запуск в режиме демона для постоянной синхронизации
- DAEMON_TIMEOUT=24h0m0s # Интервал синхронизации
- DEBUG=true
restart: always
В данном файле настроек книги будут качаться в папку E:\PB\Books если нужен другой путь - замените на свое. Данную строку не трогаем :/books
Так же нужно прописать ваши учетные данные от облака:
- PBC_USERNAME=ЛОГИН_ОТ_ОБЛАКА
- PBC_PASSWORD=ПАРОЛЬ_ОТ_ОБЛАКА
Далее, допустим ваш yml файл лежит на рабочем столе.
Открываем Power Shell и вводим команду перехода на раб стол:
Далее вводим команду запуска контейнера с вашими настройками:
После чего у вас появится контейнер в докере, который можно запускать/перезапускать из вебинтерфейса докера. При запуске в вашу папку из настроек начнут качаться ваши книги из облака.
В данном конфиге контейнер будет постоянно висеть в фоне и раз в сутки будет выкачивать новые книги из облака.
Послесловие..
Можно поднять данную синхронизацию на одноплатном компьютере типа Raspberry Pi:
У меня в наличии валялся Raspberry Pi 3, будем далее мучать его:
Проверяем версию архитектуры вашего одноплатника:
У меня выдало следующее: armv7l
Нам нужно собрать версию PocketBook Cloud Sync докера под нашу архитектуру:
cd ~
git clone https://github.com/micronull/pocketbook-cloud-sync.git
cd pocketbook-cloud-sync
Соберите Docker-образ локально:
Эта команда соберет образ, используя Dockerfile из репозитория, и в процессе сборки она будет использовать Python и другие инструменты, предназначенные для вашей текущей архитектуры (32-битной ARM). Это создаст образ, который будет работать
Так как у меня есть готовый .yml файл под винду, то правим его под наш одноплатник:
services:
pocketbook-sync:
image: pbcsync:latest
container_name: pocketbook-sync
volumes:
- /usr/local/bin/pocketbook-sync/books:/books
environment:
- PBC_CLIENT_ID=qNAx1RDb
- PBC_CLIENT_SECRET=K3YYSjCgDJNoWKdGVOyO1mrROp3MMZqqRNXNXTmh
- PBC_USERNAME=ЛОГИН_ОТ_ОБЛАКА
- PBC_PASSWORD=ПАРОЛЬ_ОТ_ОБЛАКА
- DAEMON=true
- DAEMON_TIMEOUT=24h0m0s
- DEBUG=true
ports:
- "8080:80"
restart: always
Теперь поставим (если его нет) compose на одноплатник:
Если не прокатит, то можно скачать под свою архитектуру исполняемый файл - у меня так и прокатило:
Загрузите исполняемый файл Docker Compose V2: Вам нужно определить архитектуру вашей Raspberry Pi (мы делали это ранее с uname -m).
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-linux-aarch64 -o /usr/local/bin/docker-compose
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-linux-armv7 -o /usr/local/bin/docker-compose
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-lin
Делаем скачанный файл исполняемым:
У меня выдало так: Docker Compose version v2.40.2
Теперь все готово к запуску нашего .yml файла лежащего в папке /usr/local/bin/pocketbook-sync, для этого выполняем:
Ах да, права на папку /usr/local/bin/pocketbook-sync/Books выдайте для записи!
Просмотреть логи можно по команде:
После всего этого на вашем одноплатном компуктере будет запущен образ контейнера, который раз в сутки будет выкачивать новые книги из вашего облака PocketBook Cloud в папку /usr/local/bin/pocketbook-sync/Books
Теперь команды нужные для докера:
Посмотреть образ в докере: Docker images
Посмотреть контейнер в докере: Docker ps -a
Удалить контейнер докера: Docker rm имя
Удалить образ докера: Docker rmi имя
Ну и стандартные старт/рестарт: Docker start имя
Остановить все в терминале: docker stop $(docker ps -q)
Запустить все (включая те, что были остановлены) в терминале:docker start $(docker ps -aq)
Перезапуск всех контейнеров: docker restart $(docker ps -a -q)
Сколько занимает места докер: docker system df
Очистка места: docker system prune -a
Посмотреть сети докера: docker network ls | findstr proxy-net
Потребление памяти контейнерами: docker stats
Пересоздание контейнеров: docker compose up -d --force-recreate