Created: July 17, 2022
Modified: August 27, 2022
Modified: August 27, 2022
syncing supernote with surface pro x
This page is from my personal notes, and has not been specifically reviewed for public consumption. It might be incomplete, wrong, outdated, or stupid. Caveat lector.My Supernote A5X syncs through Dropbox, but unfortunately Dropbox doesn't support Windows ARM64 machines like the Surface Pro X. Here's my solution to keep PDFs synced across both of them, using Syncthing and an external Ubuntu server (I keep a DigitalOcean droplet always running for this and other purposes).
The same approach should also work more broadly to sync any part of a Dropbox folder on the Surface Pro X or other Windows Arm machines.
On the Ubuntu server:
- Install Syncthing:
sudo apt-get install syncthing
. - Allow the relevant ports through the firewall:
sudo ufw allow syncthing; sudo ufw reload
. - Add Syncthing as a service: https://docs.syncthing.net/users/autostart.html#linux
- Download and set up Dropbox: https://www.dropbox.com/install-linux
- Add Dropbox as a service: https://hashbangwallop.com/dropbox-service.html (note: also add
Restart=always
and `RestartSec=5s` to ensure the service stays running by auto-restarting if it crashes)
- Ensure that both the Dropbox and Syncthing services are running.
- Log in to the Syncthing UI, using SSH to forward the relevant port.This is easier and more secure than trying to configure Syncthing to expose the UI directly to remote connections. For example, connect via
ssh -L 8384:localhost:8384 username@server
, and then go tolocalhost:8384
in your local browser to set up Syncthing. - Add a shared folder
pdfs
or similar underneath~/Dropbox/Supernote/Document
, and give it a unique Syncthing name (e.g.,supernote-pdfs
). Make sure you enable sharing for this folder. - Note the device ID of this Syncthing service (you can find this in the menu) to use when setting up the tablet.
On the Surface Pro X:
- Download Syncthing's ARM64 client from https://syncthing.net/downloads/, and extract the contents under
C:\Program Files (Arm)\syncthing
. - Run the
syncthing.exe
executable to start up the local GUI. - Add a new remote device using the server's device ID.
- Assuming the machines can now see each other, you should have the option to accept the shared folder
supernote-pdfs
and associate it with a local folder. Syncronization should now be working! - Use
nssm
to add Syncthing as a service that runs automatically at login: https://docs.syncthing.net/users/autostart.html#autostart-windows-service. Be sure to a) run as an unprivileged user, and b) once the service is set up, useservices.msc
to set it to auto-restart on failure. - With this setup I still find that syncthing sometimes stalls after the machine wakes from hibernation (this issue: https://forum.syncthing.net/t/syncthing-process-stalled-after-windows-hibernation/17950). A potential workaround I'm testing is to schedule a task to manually restart the service: follow the directions at https://sumtips.com/how-to/run-program-windows-wakes-up-sleep-hibernate/, with
nssm restart syncthing
as the command to run (for which this task must have appropriate privileges).
Any additions or changes to the PDFs on the Surface will now automatically propagate via Syncthing to the Dropbox folder on the server, and thus to Dropbox itself.