DEVONthink's synchronization was designed to run in self-maintenance mode. If you are having issues syncing your DEVONthink databases, the first place to look is Windows > Log. Most sync related errors and reports will be shown here.

Below we cover some things you can check for the type of sync method you're using as well as some common questions you may have.

## Things to Try First

Here are a few simple things to try when you have a sync issue:

- Check your network connections, including trying to log into a remote service.
- Reboot the computer
- For non-Bonjour and non-iCloud sync locations, make sure you're entering the correct store name. When logged into a remote service, the Sync Store Name dropdown should list available sync stores to choose from.
- Make sure you're using the correct encryption key for the sync location.
- Make sure you have sufficient space for sync data when syncing using cloud accounts.

## Verify & Clean

Verifying: If there is an issue reported with syncing, e.g., broken structures or missing manifests, you should first verify the sync data to see if it's intact and consistent. The results of a verification will be reported in the log window.

Cleaning: If the verification fails, you can then clean the sync location or database to remove the sync data in that location. The results of the clean will be reported in the Log window. After a successful clean, you can upload the database(s) again. And just to ease anyones' mind, cleaning a sync location has no effect on the local databases on your devices. Sync data is not your database and is separate from the local databases on your devices, Mac and mobile.

Before you clean sync data: Isolate one syncing device and do the maintenance there. Before you do, disable the sync location or specific database on the other syncing devices. After the clean and resyncing is finished, you can then enable the sync location on the other devices again.

To verify or clean sync data, open Sync settings. These commands are essentially the same but are applied to either an entire sync location or a specific database.

- Sync Location: To clean or verify all the sync data from a specific location, Control-click it and choose the appropriate command. For a verification, hold the `⌥︎` Option key and choose Verify Location Thoroughly to perform a deeper verification of the sync data. For a remote sync location, there may be a pause while a connection is established.
- Database: To clean or verify the sync data for a specific database, select the sync location to display the databases list. Control-click the specific database and choose the appropriate command. For a verification, hold the `⌥︎` Option key and choose Verify Database Thoroughly to perform a deeper verification of the sync data. Repeat this with any databases, as needed.

Both these actions can be used at any time, for preventative purposes or just to get a fresh start with syncing. Also, you may see unwanted databases in the Remote section of the databases list for a sync location. Cleaning the location will remove these databases too. But if you want to keep the sync data for your current databases, you can Control-click and clean specific databases in the Remote section.

## Bonjour

Bonjour syncs are generally transparent, but it can only be used on a local network that allows Bonjour traffic and non-standard ports. Many public networks disallow this kind of traffic to protect their customers. Also, corporate networks will often disallow this traffic for security reasons.

Note: Bonjour connections cannot be used over VPN. This is technologically infeasible, at least at the moment.

- Make sure you have entered the correct Bonjour password that you set in the server Mac's Bonjour options.
- Make sure DEVONthink is running on the other Mac or iOS device and both devices are awake.
- Make sure only one device is acting as the Bonjour server for a given database. You should not have two devices with incoming connections enabled trying to serve the same databases.
- Make sure the databases you want to synchronize are open on the other Mac, or enable Settings > Sync > Bonjour Options: Open databases automatically on the server Mac.
- Restart the other Mac, the iOS device, or both.
- Make sure this computer is connected to the same network as the other syncing device.
- Make sure any firewalls or applications like Little Snitch are allowing traffic from DEVONthink.
- Check if there are any routers or switches involved. The more switches and routers the less reliable the connection due to port filtering, conflicts, or other unknown factors.
- Restart your router.

If you find yourself on a network that disallows Bonjour syncing, it is possible to connect your iOS device to your Mac via your Lightning cable. This creates a simple ad-hoc network that will allow Mac-to-mobile syncing. If you are in a corporate situation, please discuss this with your IT department to ensure you're not violating any security policies. They may also issue an exception for a specific port you could use for Bonjour syncing. If they do, you'd enter it in the Port section of the Bonjour options.

## iCloud

Since your devices are generally signed into your Apple ID, using iCloud for syncing is the easiest to set up. However, it should be understood it can only be used for personal syncing. Collaborative syncing is not possible unless all participants are sharing an Apple ID.

If you are using an iCloud (Legacy) sync, the data is synced locally first. iCloud processes will then upload the changes to Apple's servers and propagate the information about it to all other devices. It generally happens smoothly and in the background but it means you can't expect the changes to be ready on other devices as soon as DEVONthink has finished synchronizing to iCloud. If you are using a CloudKit sync, DEVONthink deals directly with Apple's servers.

Here are a few things to check:

- Make sure you have enabled DEVONthink in System Settings > iCloud > iCloud Drive > Apps Using iCloud on each device.
- Make sure all syncing devices are logged into the same Apple ID.

Note: Be aware iCloud can stall. This is a sporadic, but documented, issue that can cause your devices to get out of sync. This is not under our control, nor can we even detect or anticipate it.

## WebDAV

Our support for WebDAV services allows you to use cloud services that are WebDAV-enabled. This also presents some self-hosting opportunities, even with some NAS devices. However, they can sometimes be technically more difficult to implement. Here are some things to check:

- Make sure the service or device you're trying to connect to is reachable. This is especially true when self-hosting. If you see errors in the 500 range in the Log window, it's a problem at the server.
- Make sure you are using the proper protocol in the URL, `http://` or `https://`.
- Make sure the URL is complete. This will be specific to the device or service you're using. If you're running your own WebDAV server, you should set up a folder shared by WebDAV as the location for your sync data. For a Synology NAS, for example, you have to add the target volume to the path (a valid URL would look like: `http://diskstation.local:5005/DTSync`). Be aware the folder name is case-sensitive, so `dtsync` is not `DTSync`. Refer to the service or manufacturer's instructions for the proper URL construction.
- Make sure you have entered your user credentials correctly. If you see 400-series errors, there is an issue with your authorization.

Note: WebDAV implementations vary so it's not possible to guarantee compatibility in all situations. For self-hosting, Apache implementations are the most compatible.

## Dropbox

Dropbox is our longest supported sync method and is generally reliable and a good performer. However, there are a few things to consider.

According to Dropbox' rules, you cannot sync across user accounts. They don't allow you to share the Apps folder or its subfolders between accounts. Also, they only allow our sync engine to be logged into one Dropbox account at a time. If you have a work and a personal account, you can only sync to one with DEVONthink.

- Log into your Dropbox account to make sure it's reachable. If you see errors in the 500 range in the Log window, it is a problem with the remote server.
- Make sure you are connected to the correct Dropbox account. The active account will be shown under the sync location's name in the sync preferences.

Collaborative syncing may be possible using a common Dropbox account, i.e., using the same username and password for syncing. But again, you can only sync to one active Dropbox account at a time.

## Common Questions

I enabled the sync and nothing's happening: Our sync engine will not sync, upload or download, without being told to. We believe in opt-in processes whenever possible. Merely enabling a sync location just sets up a location to be ready to receive and transmit data. You need to enable individual databases to sync. You also need to do this on each device you want to sync. If you have enabled databases to sync, check Window > Log for errors.

I'm seeing a message about an invalid encryption key: When you set up a sync location, you have the option of entering an encryption key. This is used to scramble and descramble the sync data so it's stored in an encrypted state. Once you've synced the first time, this value, even if you aren't specifying a key, is stored for that sync location. This value must be entered on other devices syncing with this sync location.

You can't add, remove, or modify the encryption key value for a sync location after the first sync. If you want to make a change, you must clean the sync location first. Disable the sync on all devices but one, then clean the location. After the clean, Control-click the sync location again, choose Show Info, and make the modification to the key. After the first sync, this will be the value stored for the location. After the clean and resync from the one device, you must change the value on the other syncing devices, then re-enable their syncs.

I am seeing a message about missing manifests: Missing manifests are bits of transactional sync data that cannot be located by the sync engine. When this occurs, it can't validate the information about what has been synced. This is not an issue with the databases; it's missing sync data. See the Verify & Clean section above regarding verifying and cleaning the sync data.

It's telling me I have a duplicate database UUID: As noted in the glossary, a UUID is a unique value given to all DEVONthink databases. If you copy and rename a database file in the Finder, this UUID is preserved and DEVONthink sees two databases with the same UUID. This will not sync correctly. Please contact our support team for assistance on resolving this.