According to this tutorial, deploy Tailscale to create a LAN network, which can improve the experience.
Repost as follows
This article is transcoded by SimpRead, original address blog.menghuan1918.com
Actually, the title is not very accurate. It should be said that the main notes are now written using Obsidian, but some notes that require handwriting are still written using OneNote.
May 8, 2024
About 3 minutes SoftwareRaspberrypiLinuxDockerSoftware
Actually, the title is not very accurate. It should be said that the main notes are now written using Obsidian, but some notes that require handwriting are still written using OneNote. After all, Obsidian does not have official handwriting support.
The difficulty of configuring Self-hosted LiveSync lies in HTTPS (and domain names). Without HTTPS, mobile devices may not be able to sync. But fortunately, using (the free version of) Tailscale, you can accomplish all this without needing a domain name or a public IP!
Note
Note: Sync ≠ Backup! Even if you use this for syncing, you still need to做好充足的备份工作 (do adequate backup work)!
This part refers to the plugin documentation. Find a place where your current user has read and write permissions, and place the files as follows:
obsidian-livesync
├── docker-compose.yml
└── local.ini
Then start the container with docker-compose up -d. Here I choose to deploy it on my Raspberry Pi (you can choose any device that can run Linux). After deployment, visit http://raspberrypi:5984/_utils, enter the username and password set in the docker-compose.yml earlier, and click the top right corner to create a database. I created a database named notes.
Tip
Here, ‘raspberrypi’ is the short domain name corresponding to the Raspberry Pi’s virtual LAN IP assigned by Tailscale. Please replace it with the IP of your deployed device.
Of course, this screenshot is after syncing data once.
Before adding HTTPS, first test whether it works properly. Install the Self-hosted LiveSync plugin and fill in the database address, name, and other information set earlier:
The username and password here are the defaults.
Then enable real-time sync to check. Since there are many tutorials for this plugin, it will not be elaborated here:
Success.
First, you need to have Tailscale installed and configured on all your devices; just register and install.
Then go to the Tailscale web console, find DNS → HTTPS Certificates, and enable it. After that, we need to use Caddy to reverse proxy the local database to the registered domain name provided by Tailscale. The good news is, Caddy supports automatically adding HTTPS certificates for domains provided by Tailscale, making the entire process simpler.
First, install Caddy. Since I use Debian, I also need to edit /etc/default/tailscaled and add a line at the end:
To allow Caddy to have permission to obtain certificates, finally edit /etc/caddy/Caddyfile:
TS_PERMIT_CERT_UID=caddy
Note to replace machine-name.domain-alias.ts.net with the domain address Tailscale gave you. Then reload by running sudo systemctl reload caddy.
This is the address.
Then return to Obsidian and replace it with the https address.
At this point, there is no more HTTP warning.
This setup results in very fast sync speeds. You can refer to this video.
I also started using this plugin after seeing recommendations from some experienced users (link). After trying it for a few days, I found it really useful.