zoteroで論文をwebdavに保存する

Posted on 水 16 11月 2022 in 開発環境

環境

サーバー側

  • Ubuntu22.04
  • インストール済みのソフト
  • docker

手元側

  • Ubuntu22.04
  • WindowsでもMacでも同じ方法でできるはず
  • zotero
  • 公式サイトからインストールすべし

サーバー側の作業

Dockerのインストールはできているものとします。

サーバーのipアドレスが、serverip.comであると仮定して話を進めます。

まず、ドメインを契約しているサービスで、webdav.serverip.comのレコードを作成してください。

serverip.com/webdav/をwebdavに割り当てる方法もありますが、あまり好きではないのでサブドメインを設定しています。

その後、以下のようにdocker-compose.ymlを作成してください。

version: '3'
services:
  https-portal:
    image: steveltn/https-portal:1
    ports:
      - 80:80
      - 443:443
    environment:
      DOMAINS: >-
        webdav.server_ip.com -> http://webdav:80,
      STAGE: 'production'
      DEBUG: true
      CLIENT_MAX_BODY_SIZE: 0
    volumes:
      - type: volume
        source: https-portal-data
        target: /var/lib/https-portal
    depends_on:
      - webdav
    restart: always
  webdav:
    image: bytemark/webdav
    restart: always
    environment:
      AUTH_TYPE: Basic
      USERNAME: ${WEBDAV_USER_NAME}
      PASSWORD: ${WEBDAV_PASSWORD}
    volumes:
      - type: bind
        source: ./webdav/data/
        target: /var/lib/dav

volumes:
  https-portal-data:

https-portalは、certbotによるssl口唇を自動でやってくれるdockerイメージです。言い換えると、https化を自動でしてくれます。

DOMAINSで指定しているのは、webdav.server_ip.comに来たリクエストをすべてhttp://webdav:80に転送するということです。

webdavは、webdavサーバーの構築を簡単にできるdockerイメージです。

Basic認証をかけています。dotenvなどを使うか(おすすめ)、.bashrcを使うかして、2つの環境変数をexportしておいてください。

あとは、

mkdir webdav/data
docker compose up -d

とすれば、https化するリバースプロキシと、webdavを建てることができます。

80番と443番のポート開放を忘れないようにしてください。

手元側の作業

まず、(Ubuntuなら)ファイルを使ってwebdavにアクセスできることを確認します。私の場合、

  1. 他の場所
  2. davs://webdav.serverip.comと入力
  3. 接続
  4. ユーザー名とパスワード入力

でできました。

詳しいやり方は、「OS名 webdav 接続」と調べてください。

zoteroをインストールしたあと、「編集」→「設定」→「同期」と移動して、「ファイルの同期」のチェックを入れます

そして、

URL: https://webdav.serverip.com

ユーザー名: 先ほど設定したユーザー名(${WEBDAV_USER_NAME}の中身)

パスワード: 先ほど設定したパスワード(${WEBDAV_PASSWORD}の中身)

を入力し、「サーバーを検証する」と押します

そうすると、pdfファイルが自動でwebdavに保存されます。

あとは、Zoteroの環境設定にしたがって設定をしました。ただし、リンク先の記事ではwebdavではなくdropboxを使っているので注意が必要です。

ipadでやるなら、私の研究おすすめツール(文献管理編) がおすすめです。