Local Network Sync

A detailed configuration guide.

When Local Network Sync is set up, Everdo on one of your desktop computers acts as a sync server, while other devices are clients. Each client performs a two-way sync with the server. Clients do not communicate with each other directly, but as long as they sync with the server, your data will be shared across all configured devices.

This page describes the configuration process in detail.

Decide Which Computer Will be The Server

Since only one computer can be the server, it's important to correctly choose which one. Here are the things you should consider.

  • Will you be able to get your clients on the same network as the server?
  • Will you need to sync on different local networks, which would require re-configuring the server, i.e. changing the IP Address of the server?

Let us consider a few examples.

Example 1 You have a desktop computer at home, a phone and a laptop. If you set up your home PC as the server, then you will be able to sync all of your devices at home. But you won't be able to sync the laptop and the phone when not at home, because they are no longer on the same network as the server.

Example 2 You have a desktop computer at home, a phone and a laptop. If you set up your laptop as the server and all other devices as clients, then you will be able to sync both at home and at work. But you will have to make sure that your network settings match the network you are on. This is because your home network details will most likely be different from your work network.

Server Configuration

The first thing is to identify your server's IP address on the network.

Finding Your IP Address

On Linux and macOS you can use the ifconfig terminal command. In the example below, the computer has IP address 192.168.1.5.

$ ifconfig
enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 192.168.1.5  netmask 255.255.255.0  broadcast 192.168.1.255
    ...

On Windows you can use the ipconfig terminal command. For example, the output below shows IP address 192.1.168.1.5.

> ipconfig
Windows IP Configuration

Ethernet adapter Local Area Connection:
  Connection-specific DNS Suffix . . :
  IPv4 Address . . . . . . . . . . . : 192.168.1.5
  ...

Many computers have multiple network interfaces, which means they might have multiple IP addresses, for example one for the wired connection and another one for wireless. You can take note of them and try which one works later on.

Enable The Server

Start Everdo and follow these steps to turn on the server.

  1. Go to the app Settings, open the Sync tab.
  2. In the Mode drop-down select Server.
  3. Switch to the API tab.
  4. Set the IP/Hostname setting to correspond to the IP Address of the computer on your local network. You can leave port as 11111 in most cases.
  5. Optional: Change the API Key setting. This is the password that will allow your clients to sync with the server.
  6. Press Apply and restart Everdo.
  7. When Everdo restarts, you should see the message “Everdo API is up”.

If you are seeing the success message when starting Everdo, then it means the server is ready. The next step is to configure the clients.

If you don't see the success message when Everdo starts, and see a warning instead, then it most likely means that you have not set the correct IP address for the computer. In this case you should try a different one.

Client Configuration

The client configuration UI is different between the desktop, iOS and Android apps, but the main idea of client configuration is to specify the IP Address, Port, and API Key of the Server, on all the client devices.

Desktop Clients

  1. Start Everdo and open Settings.
  2. Go to Sync tab.
  3. Select Manual Client in the Mode drop-down menu.
  4. Fill in the IP/Hostname, Port, Server API Key settings. Use the values corresponding to your server configuration.
  5. Press the Sync button to perform a two-way sync between the app and the server.

You should see a success status if all went correctly. To have the computer sync automatically, you can change the Mode setting to Client instead of Manual Client.

Android Clients

  1. Start Everdo and open Settings.
  2. Tap Sync Type, select Local Network
  3. Tap Local Network, fill in the IP/Hostname, Port, Server API Key settings. Use the values corresponding to your server configuration.
  4. Exit settings and try to trigger sync by swiping down the screen.

You should see a success message if all went correctly. To have the device sync automatically, you can enable the Auto Sync setting in app settings.

iOS Clients

  1. Start Everdo and open Settings.
  2. In the Sync Mode section, select Local Network.
  3. Press Setup Sync.
  4. Fill in the IP/Hostname, Port, Server API Key settings. Use the values corresponding to your server configuration.
  5. Tap Sync Once

You should see a success message if all went correctly. To have the device sync automatically, enable the Auto Sync toggle.

Manual Sync Actions

When Everdo syncs automatically, it sends incremental changes over the network to keep your devices in the same state. You can also perform the following actions manually, if needed.

In the Android app, these actions are available in the Sync Actions item of the application menu. In the desktop and iOS apps, the manual actions are under sync settings.

Sync

Triggers a two-way incremental sync. Incremental means that only the changes since last successful sync will be taken into consideration. Conflicts will get merged according to the latest modification time.

Pull From Server

Triggers a one-way sync by copying data from the server to the client. Conflicts are overwritten.

Push to Server

Triggers a one-way sync by copying data from the client to the server. Conflicts are overwritten.

Troubleshooting

We look at some common issues with Local Network sync configuration.

Problem: Server doesn't start (Everdo API is down)

In the vast majority of cases this is because an invalid IP address was specified in the server configuration. To resolve the problem, try determining your IP address again.

In a very rare case, there might be a port conflict, so you can try changing the port setting to a different value, for example 11112 or similar.

Remember to restart Everdo after changing the server settings to see if it worked.

Problem: Server used to start, but not anymore

It's possible that your computer changed it's IP address, so the configuration that used to work is not valid anymore. In this case you have two options:

  • Find out the new IP address and set it up again.
  • Configure your computer to have a static IP address.

The correct steps to set up a static IP address for your computer differ very much depending on your network hardware and operating system. There are two basic approaches you could consider:

  • Fix the IP address at the operating system level via network configuration tools of your operating system, for example, the control panel on Windows.
  • Fix the IP address at the network level via the control panel UI of your router.

Problem: Server starts, but sync doesn't work

This most likely means the clients can't gain a connection to the server. There are many possible reasons for that depending on your physical network configuration, as well as the software running on your server computer. Some of the most frequent issues are:

  1. Wrong IP address/port was specified on the client.
  2. The client is connected to a different local network (or none).
  3. A firewall is running on the server and blocking incoming requests.

Here is a manual connection test you can perform to ensure that Everdo server is running correctly.

  1. Open a web browser the server computer.
  2. In the address bar type in https://192.168.1.1:11111/time?key=***, replacing 192.168.1.1 with the correct IP address and *** with the correct API key.
  3. Press Enter. You should get a response indicating an HTTPS warning. This means the Everdo server works correctly and your are able to connect to it from the same computer.
  4. Repeat the steps 2,3 on the client computer. You will most likely see an error saying This site can't be reached, or similar. This means that there's a connectivity issue, or firewall interference between the server and the client.

Some Linux distributions and Windows can have their firewall enabled by default to block all incoming traffic to apps. You should try disabling these first to see if that helps. If it does, then it's best to configure them properly to allow local traffic to Everdo.

The exact instructions to configure the firewall on your OS can be found online. Many Linux distributions use ufw.

Problem: Sync is working, but some items/tags are missing

Sometimes devices get out of sync for one reason or another. Since the auto-sync algorithm is incremental, it will not detect a discrepancy in data that might have occurred a while ago. If you notice such discrepancy, you can use manual sync actions to bring the devices back to the same state. Make sure to read the description of the actions carefully so that you understand what they do.

Last modified January 1, 0001