Lost in the muddle; need troubleshooting advice

Is there simple troubleshooting documentation? I think the documentation jumps into the weeds too soon without helping with basic connection problems.

I have a setup with two phones, a MacBook, and a server (EmbassyOne). I moved files up to the shared folders on the server where they appear in the File Manager. I have all the devices added and the folders shared. Yesterday I was even able to put a couple files into one folderA on the server and got it to sync with two phone devices. Today I put in another folderB on the server (with multiple sub-folders and files) and shared it but none of the files will sync. The folderB appears on the remote devices but it is always empty. On my iPhone with Mobius Sync I periodically get messages like “9 minutes syncing” but no data appears in the folderB. On the server the remote devices will alternate between being labeled “Up to Date” and “Disconnected” which seems ok. I assume they disconnect when no syncing is occurring. The folders all are labeled “Up to Date” also on both the server and the other devices’ GUIs. I installed Syncthing on my MacBook and connected it to the iPhone and the server but the same problem with the large synced folderB is occuring - no files. It did sync up the two small files in the original folderA. I am not aware of doing anything differently between the setup of sharing for folderA and folderB.

Due to iOS restrictions, Mobius Sync must intermittently start/stop Syncthing, which is then responsible for the “Disconnected” state, otherwise a Syncthing peer will always stay connected. (Mobius Sync is a commercial product so the developer is the best resource for questions/answers.)

As for Syncthing on your MacBook and server, could you post screenshots of Syncthing’s web GUI. Please be sure to expand any relevant folder and device panels so that the settings are visible.

Here is a screenshot of the folder that does sync.

Based on the screenshots, everything looks good as far as the Syncthing settings.

According to Syncthing on device “Roger Embassy”, it found zero files and directories:

So it makes sense for Syncthing to report that the folder shown above is up to date.

Without additional information about how “Roger Embassy” server is set up, the first thing I’d recommend checking is the folder permissions for /mnt/filebrowser/syncthing/NOTES. The user running Syncthing needs at least read and execute permissions on each segment of the directory path plus write permissions on NOTES if the server is to be able to receive changes from your “Pixel 3”, “Roger MacBookPro” and “Rogers-iPhone” devices:

/mnt
└── filebrowser
    └── syncthing
        └── NOTES

Is Docker involved? If so, double-check volume mounts as well.

I looked under share management and “admin” is the owner of both the NOTES and ActiveClientSynct folders. I didnt do anything different but I went ahead and did a share on two subfolders and a couple files in those subfolders of NOTES to see if it makes a difference. But Syncthing is still registering 0 files local for the server. I dont believe I had to do that for the ActiveClientSyncT folder when I set it up. I will contact the Embassy support to see if they can help. Thanks for pointing that out.

I heard something about Docker used for Embassy’s apps from Embassy support but I dont know anything about it. They said they are going to phase out Docker.

What method did you use to install Syncthing on your “Roger Embassy” server?

Could you also share any product details regarding the server? (I don’t recognize the brand/model, or even the UI, and an online search didn’t turn up anything except hotels.)

The server is designed by start9.com . I have the EmbassyOne model that runs on a Raspberry PI V4 8 GB. They have a Marketplace of server apps adapted to that platform. I sent their tech support a query about this.

Thanks! I was searching for “EmbassyOne” but the company calls it “Embassy One”. :smirk:

From the company’s GitHub page for its “embassyOne” Linux-based OS, your Syncthing installation is packaged in a customer Docker container.

There are only two mounts in the container from the host OS:

/mnt/filebrowser
/root

The “Share Management” screenshot shows the path /syncthing/ActiveClientsSyncT, but one of the Syncthing web GUI screenshots says it’s using the path /mnt/filebrowser/syncthing/NOTES. The former could be using relative paths, but that depends on how /mnt/filebrowser is overlaid into the Docker container (I’d expect it to match the host OS). Or in other words, if on the embassyOS side there’s a /mnt/filebrowser directory and a matching mount point inside the Docker container, then I’d expect to see the following two paths in the “Share Management” screenshot:

/syncthing/ActiveClientsSyncT
/syncthing/NOTES

Thanks for looking at this. I am not clear what this means. What needs to change? I will look at this again when I am more well rested! :slight_smile:

On the web GUI for the Embassy One server, could you post a screenshot from the Syncthing web GUI with the “ActiveClientsSyncT” folder panel expanded to show the connection details?

image

On a related note, the GitHub page for Start9’s Docker-based Syncthing wrapper: https://github.com/Start9Labs/syncthing-wrapper

Thanks! I will look at the github link later. Here is the Embassy view of the ActiveClientSyncT folder connection details.

I followed the github link and read the readme and instructions which didnt help. Otherwise it is over my head.

Okay, here we go…

Services on embassyOS

As of the current version of embassyOS, every service is packaged in a container that’s hosted using Docker. This includes not only Syncthing, but even the web-based File Browser. From the Service Container section of the user manual:

Each service is compartmentalized into its own “container.” At this time, this normally means a Docker container, however embassyOS is modular and other options will be available soon. There are several reasons for doing this, including security, ease of use, and maintenance.

The enhanced security comes with a price – a more complicated setup.

A container provides an isolated environment for an app to run in. It’s like putting a RC toy in something so that it can’t run out of control. For it to be fun, it has to be the right container for the right toy (e.g., a sailboat in a sandbox vs. a truck in a pool).

In order for an app to access resources outside of its container, suitable connections are required. Likewise, for a toy boat to sail from one pool to another, the best option is a channel of water between the pools. However, that same channel of water would be practically useless for a toy truck.

You’ve been using the web-based File Browser, and possibly network share(s), to upload files to your Embassy One server. Now you want to set up a peer-to-peer file sync between an Embassy One server, a MacBook, an Android smartphone, and an iPhone using Syncthing.

But in order for that to work, the File Browser and Syncthing must be able to access the same files and folders (i.e., a suitable channel must connect the two isolated services).

Syncthing

The good news is that based on the screenshots you’ve posted so far, there doesn’t appear to be anything wrong with Syncthing or its settings. Note how both the Syncthing folders ActiveClientsSyncT and NOTES share the same base path of /mnt/filebrowser/syncthing:

image

image

None of the earlier screenshots indicated that Syncthing is wrong when it said there were no files and folders found under /mnt/filebrowser/syncthing/NOTES.

Share Management

Perhaps the original screenshot was truncated, but the files and folders listed under the Share Management tab in the File Browser service looks incomplete: image

Focusing just on the Syncthing-related items:

/syncthing/ActiveClientsSyncT/.stfolder/CDC New Masking Guidelines.jpg
/syncthing/ActiveClientsSyncT/CDC New Masking Guidelines.jpg
/syncthing/ActiveClientsSyncT/Mario Rubio.odt

There’s a .jpg and .odt file matching Syncthing’s scan results of 2 files and 0 folders for Syncthing folder ActiveClientsSyncT (Syncthing doesn’t count its own .stfolder marker).

So, where is /syncthing/NOTES?

(I suspect that the folder configured in Syncthing isn’t actually the same one you’ve been adding files and folders into via File Browser.)

embassyOS

I downloaded embassyOS for x86 to take a closer look at how it works. Having used a number of NAS-oriented software appliances, while embassyOS doesn’t have as many features and more seamless UI as OpenFiler, OpenMediaVault, TrueNAS, Unraid, and others, it’s still pretty good for its intended audience.

It only took a few clicks to install File Browser and Syncthing, then just a few minutes more to set up folders to sync with a Linux workstation.

Output from docker container list and docker image list:

CONTAINER ID   IMAGE                              COMMAND                  CREATED          STATUS          PORTS                                      NAMES
b3bb2e324819   start9/syncthing/main:1.22.1.1     "tini entrypoint.sh"     3 minutes ago    Up 2 minutes    8384/tcp, 8384/udp, 22000/tcp, 22000/udp   syncthing.embassy
a993a6f79ad3   start9/filebrowser/main:2.22.4.1   "docker_entrypoint.sh"   34 minutes ago   Up 34 minutes                                              filebrowser.embassy

REPOSITORY                TAG        IMAGE ID       CREATED        SIZE
start9/x_system/compat    latest     050a7c7591cb   2 weeks ago    92.3MB
start9/x_system/utils     latest     c1976a03f9f8   3 weeks ago    24.8MB
start9/syncthing/main     1.22.1.1   f8d826fafb31   3 weeks ago    45.7MB
start9/filebrowser/main   2.22.4.1   c1d7532fedbf   4 weeks ago    43.3MB
start9/x_system/binfmt    latest     3f7fd8db05af   4 months ago   60.2MB

Output from df -h:

Filesystem                                                                             Size  Used Avail Use% Mounted on
udev                                                                                   469M     0  469M   0% /dev
tmpfs                                                                                   98M  1.1M   97M   2% /run
overlay                                                                                489M  366M  123M  75% /
/dev/sda2                                                                              6.8G  2.9G  3.7G  44% /media/embassy/next
tmpfs                                                                                  489M  160K  489M   1% /dev/shm
tmpfs                                                                                  5.0M     0  5.0M   0% /run/lock
/dev/sda1                                                                             1022M   49M  974M   5% /boot
/dev/mapper/EMBASSY_QEVJJSCWNW4O3K43YZRWTUZNTOGBXY4SZZXHL2LPW6FYL4SKQIRQ_main          7.8G   96M  7.3G   2% /embassy-data/main
tmpfs                                                                                   98M  4.0K   98M   1% /run/user/1000
/dev/mapper/EMBASSY_QEVJJSCWNW4O3K43YZRWTUZNTOGBXY4SZZXHL2LPW6FYL4SKQIRQ_package-data   32G  303M   30G   1% /embassy-data/package-data
/dev/dm-6                                                                              9.8G   43M  9.2G   1% /var/lib/docker/devicemapper/mnt/7a0e2efac5f3e5a6b39547772b4a90e98126c90b7b20e85dc8beef2c323930ce

File and folder permissions…

If you were to change your password for the File Browser and then try to log onto Syncthing, it wouldn’t work even if both logins are the same username.

The “admin” user shown in the File Browser is actually unrelated to the actual owner of the files and folders on the drive.

image

User “admin” is only the web user who uploaded a file or created a folder.

After installing embassyOS with File Browser and Syncthing, I logged onto File Browser as user “admin”, created two directories Music and gadget, then uploaded a MP3 file. Next, I logged onto Syncthing as a different user “admin” and created a Syncthing folder named “Notes” (allowing Syncthing to create a default syncthing directory in the process).

Logging onto embassyOS via SSH, I inspected the directory tree:

root@embassy:# cd /embassy-data/package-data/volumes/filebrowser/data/main/data

root@embassy:/embassy-data/package-data/volumes/filebrowser/data/main/data# ls -l
total 12
drwxr-xr-x 2 root   root 4096 Dec 25 23:54 Music
drwxr-xr-x 2 root   root 4096 Dec 25 23:55 gadget
drwxr-xr-x 4 start9 root 4096 Dec 26 00:28 syncthing

root@embassy:/embassy-data/package-data/volumes/filebrowser/data/main/data# tree
.
|-- Music
|   `-- I_Can't_Go_For_That.mp3
|-- gadget
`-- syncthing
    `-- Notes

4 directories, 1 file

From the shell terminal output above:

  • The ownership of the syncthing directory created by the Syncthing container is user “start9” and group “root”, while the directories Music and gadget created by the File Browser container are owned by root:root.
  • None of the files and folders are group writable.

The file/directory permissions mean that Syncthing cannot write/delete items created by File Browser, but File Browser can write/delete items created by Syncthing.

/embassy-data/package-data/volumes/filebrowser/data/main/data is mapped to /mnt/filebrowser inside the File Browser and Syncthing containers (in technical terms, it’s a bind mount using the Linux kernel’s OverlayFS filesystem module).

Screenshots showing each stage of the setup:

Installing File Browser…

Installing Syncthing…

Creating folders and uploading files with File Browser…

Syncthing setup…

Thoughts…

It can be a lot to digest. I think the best thing to do is to put aside Syncthing for the time being, step back, and review the user manual (https://docs.start9.com/latest/user-manual) to get a better idea of how embassyOS works. It’ll be time well spent because you’re trying to do way too much all at once.

Although using embassyOS doesn’t require Docker skills, having a basic understanding of how Docker works is helpful – Getting Started With Docker Containers: Beginners Guide

There are also important security considerations after installing the File Browser, Syncthing and other network services in embassyOS. For example, did you know that embassyOS automatically makes network services publicly accessible on the internet via unique .onion addresses without the need to reconfigure your firewall(s)? It’s not necessarily bad, but it does require some attention.

1 Like

Wow! You did a lot of work. Your point is well taken to spend some time to read the user manual which I will definitely do. Thanks.

But I am more of the “lets get on with it and use it” type of user. I was a high level programmer (Visual Foxpro) in my day. I wanted to get sh!t done. I would like to get Syncthing working so that I can stop using MS OneNote which is not supported anymore and has screwed me over in the past where I lost data.

Can you tell what I need to do to get Syncthing up and running? Then I can go back and learn more of the nuts an bolts, which I surely need to know. I did truncate the listing of the shared folders. It seems that you are saying that NOTES should be listed and it isnt. Only the subfolders of NOTES are listed. I will see if I can get NOTES listed. Its funny though I didnt do anything different for NOTES than I did with ActiveClientsSyncT. I just shared them and dragged and dropped folders from the Mac to the File Manager folders NOTES and ActiveClientsSyncT.

Should I delete NOTES and start over?

There are just a few gaps about how embassyOS and Syncthing work that’s causing the difficulty.

Over the years I’ve collected stacks of manuals that still look like they’re fresh off the printer, so I get it. :smile:

I initially jumped head first into using Syncthing, and quickly realized it wasn’t going to end well, so I resisted the urge to forge ahead. Skimming through the documentation I settled on three sections to carefully read that in hindsight saved me a lot of frustration:

Being very familiar with Linux, I also thought I could jump right into using embassyOS – which is built on top of Debian 10 / “Buster” – only to end up clicking around in circles trying to figure out where things were located. I eventually stumbled across the configuration panel for uploading a SSH public key so that I could log onto the embassyOS and not just the unfamiliar web-based GUI.

Without a closer look at your setup I can only make an educated guess.

I think the “Share Management” section of the File Browser service in embassyOS is causing the most trouble because the file and folder view has no direct relationship to the storage volume used by the Syncthing service container.

Of the screenshots I posted, notice how I didn’t include the “Share Management” view. It’s because no files and/or folders were listed there. I only used the “My files” function in the left hand navigation menu to browse around. I didn’t use the File Browser to create any folders or upload any files for Syncthing.

Based on what I saw from looking behind the web GUI, it’s fine to use File Browser to download files and folders synced by Syncthing, but anything else risks running into permissions issues for the reasons I explained earlier.

If I was in the same situation, I’d delete both “NOTES” and “ActiveClientsSyncT” because it’s unclear how the latter is working but not the former in Syncthing. Better to start with a clean slate unless you are comfortable with connecting via SSH and working with a command-line to diagnose and fix the issues.

Thanks for the advice. So I deleted/uninstalled everything and reinstalled. I dont know what I did wrong last time or right this time, but I put a single new shared folder on the Mac instead of copying files up to the shared folder on the EO. It seems to work with the EO and the iPhone both syncing with the Mac. At least I see and can open the files both places. Havent done much actual work yet.

Now the issue is with the Android Pixel. Its not as clear to me how I am supposed to share that single folder with the Pixel. It was sort of automatic between the Mac and the iPhone. But I seem to have to create folders more manually with the Pixel. Not sure how to go about it. I will dig in and do some more reading in the docs.

At least I can mothball OneNote as soon as I find a good pdf editor for Mac and iPhone. I had to export all 250+ OneNote notes as pdf files one at a time.

Question: Not clear about the “Introducer” roles. That is the one device in any pair that can introduce the remote device to any other new device?

… Sure enough, I see: If you are using a Syncthing flavor that adds OS specific functionality (e.g. the Android app), you may need to access the Web GUI to enable syncing folders, and other configuration options. …

I saw the menu option for Web GUI and it seems to be syncing. TBC!

Everything seems to sync so far. Thanks for your advice.