Google Drive: подключение на Linux Debian 9 с insync-headless

Автор: | 04/23/2020
 

Хочется подключить Google Drive с библиотекой к серверу, что бы запустить Calibre Web, т.к. Nextcloud при больших объёмах совершенно нестабилен, а книг порядка 5 гигабайт (см. Calibre: домашняя онлайн-библиотека в браузере и Moon+ Reader).

После долгого выбора клентов — остановился на Insync (15 дней триала, 30 уе стоимость лицензии на одного юзера).

Новую версию можно легко установить из репозитория — но она не поддерживает CLI.

Для установки — добавляем ключ:

root@rtfm-do-production:/opt# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ACCAF35C
Executing: /tmp/apt-key-gpghome.mCNEtjtItQ/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys ACCAF35C
gpg: key A684470CACCAF35C: 1 signature not checked due to a missing key
gpg: key A684470CACCAF35C: public key "Insynchq Inc <services@insynchq.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Создаём /etc/apt/sources.list.d/insync.list:

deb http://apt.insync.io/debian stretch non-free contrib

И устанавливаем:

root@rtfm-do-production:/opt# apt update && apt -y install insync

insync-headless

А вот insync-headless, который, собственно, и предоставляет CLI, разработывать перестали, вернее в новой версии выпилили поддержку CLI — см. (LINUX) Headless and CLI community support.

Тем не менее — всё ещё можно установить старую версию.

Загружаем инсталятор:

root@rtfm-do-production:/tmp# wget https://d2t3ff60b2tol4.cloudfront.net/builds/insync-headless_1.5.7.37371-wheezy_amd64.deb

Устанавливаем:

root@rtfm-do-production:/tmp# dpkg -i insync-headless_1.5.7.37371-wheezy_amd64.deb

Запускаем его:

root@rtfm-do-production:/tmp# insync-headless start

В браузере открываем страницу https://insynchq.com/auth — логинимся со своим Google-аккаунтом, и получаем код:

Подключаем аккаунт:

root@rtfm-do-production:/tmp# insync-headless add_account -a 4/z***MIA

Синхронизация запускается сразу после добавления аккаунта:

root@rtfm-do-production:/tmp# ls -l /root/user@gmail.com/
total 1928
-rw-r--r--   1 root root     210 Jun  4  2019 Apartments.gdsheet
-rw-r--r--   1 root root     171 Oct  1  2015 Blank Flowchart.gdlink
drwxr-xr-x 113 root root    4096 Apr 23 16:07 CALIBRE
drwxr-xr-x 309 root root   16384 Apr 23 16:07 CloudCalibre
-rw-r--r--   1 root root     206 May 23  2016 DEGREE_Word.gddoc
...

Проверить статус можно:

root@rtfm-do-production:/tmp# insync-headless get_sync_progress
Downloading
Jenkins_ The Definitive Guide - John Ferguson Smart.pdf (0% of 24.6 MB)
The Docker Book - James Turnbull.pdf (0% of 5.6 MB)
Utro novoi ery - Aleksei Doronin.fb2 (0% of 1.2 MB)
metadata.opf (0% of 3.3 KB)
1060 files queued

@ и имя каталога

Но есть нюанс — так как имя каталога содержит @ — то, например, Calibre Web не хочет принимать его как путь к данным.

Лепим костыль — создаём симлинк:

root@rtfm-do-production:/tmp# ln -s /root/user@gmail.com/CloudCalibre/ /opt/calibre/books

Проверяем:

root@rtfm-do-production:/tmp# ll /opt/calibre/books/ | head -5
total 2776
drwxr-xr-x  3 root root    4096 Apr 23 16:05 A. A. Orlov
drwxr-xr-x  9 root root    4096 Apr 23 16:06 A. Avramienko
drwxr-xr-x  3 root root    4096 Apr 23 16:06 A. Bielash
drwxr-xr-x  3 root root    4096 Apr 23 16:06 A. B_iuli

Больше команд и документация — тут>>>.