私たちは omnifocus を使用している際に、公式サーバーが海外にあるため、iPhone でアイテムを追加すると、通常は数十秒後に Mac で同期されます。最も我慢できないのは、Mac または iPhone でアイテムを完了した場合でも、他のデバイスでまだ通知が表示されることです。これは私を omnifocus を完全に諦めさせるほどのものでしたが、当初の「巨大な」投資に直面して、私は諦めました。公式サーバーとの同期を代替するソリューションを探し始めました。
多くの自己構築の webdav ソリューションを比較した結果、GO で書かれたオープンソースの webdav サービスを GitHub で見つけ、採用することにしました。その理由は非常にシンプルです:
- リソースの使用量が少ない
- デプロイが容易
GitHub - hacdias/webdav: Simple Go WebDAV server.
まず、サーバーのハードウェアとシステムに応じて、適切なリリースパッケージをダウンロードします(ここでは centos7 を例にします)
ダウンロード後、webdav 実行ファイルを解凍して /usr/bin/ に移動します
mv webdav /usr/bin/
設定ファイルを編集します(必ず JSON、YAML、または TOML 形式である必要があります) vim /opt/webdav.yaml
# サーバー関連の設定
address: 0.0.0.0
port: 18080
auth: true
tls: false
cert: cert.pem
key: key.pem
prefix: /
debug: false
users:
- username: kaimin
password: ******
scope: /data
modify: true
起動時に自動起動するように設定します
cd /lib/systemd/system
vim webdav.service
[Unit]
Description=WebDAV server
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/webdav --config /opt/webdav.yaml
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl enable webdav.service
systemctl start webdav.service
systemctl status webdav.service
omnifocus の同期設定で使用するだけです。