When using Omnifocus, because the official server is overseas, it usually takes more than ten seconds for an item added on the iPhone to sync to the Mac. The most unbearable thing is that when an item is marked as completed on either the Mac or iPhone, it still sends reminders on the other device. This almost made me want to give up on Omnifocus completely, but faced with the "huge" investment I made initially, I decided to compromise and start looking for an alternative solution to sync with the official server.
After comparing numerous self-built WebDAV solutions, I decided to use an open-source WebDAV service written in Go on GitHub. The reasons are simple:
- Low resource consumption
- Easy deployment
GitHub - hacdias/webdav: Simple Go WebDAV server.
First, download the corresponding release package based on the server's hardware and system (using CentOS 7 as an example).
After downloading, extract the webdav executable and move it to /usr/bin/.
mv webdav /usr/bin/
Edit the configuration file (must be in JSON, YAML, or TOML format), vim /opt/webdav.yaml
# Server related settings
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
Configure auto-start on boot
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
Configure it in Omnifocus sync.