Turris Omnia and syncthing
The Turris Omnia router is an unusual device. Manufacturers tend to abandon their devices after a while, forcing their customers to buy shiny new hardware. The good souls behind the Omnia, the Czech domain registry CZ NIC, have a different strategy. They are constantly improving and enhancing their offering to existing customers.
The https://syncthing.net/ is an open source file synchronization tool. Simply speaking. It can transfer files from A to B, or from B to A, or to mirror changes between A and B. And many more! It comes with a web user interface and a dozens of clients for almost every platform.
Turris OS 6.2.0 added a Syncthing integration, which can be enabled from reForis, the default admin interface.
Once enabled, a new icon will appear on the router’s main page
Unfortunately the app expects an another login, which is a bit annoying a Turris OS. Every app needs it’s own login credentials.
The first login screen will then appear. Syncthing politely asks for telemetry, which I have enabled. This can be changed at any time in the settings.
Surprisingly, there are two big warnings appearing on the main page. These leave a bad taste in the mouth of a first time user like me. One is about the need to create yet another user/password and the other one informs about the inability to create
/Sync directory. Both problems have been reported to the Turris developers. So maybe they will be fixed soon.
Filesystem on Turris
The Turris is an embedded system. Unlike a typical computer, the main system storage is not suitable for writing, as it is slow, has a tiny capacity and won’t survive many writes like your SSD or a spinning rust drive. If you want to use it as a NAS, you MUST connect an external hard drive. This will be formatted to btrfs and mounted as
The text above means that it does not make a sense to have a default folder root directory under
/. This points to a slow flash storage. I even had a hard time figuring out where to change the settings. Hint it is behind Advanced settings with a nice red warning. So I decided to fix it from the command line. After logging into the system using
ssh, I noticed that there was a
/srv/syncthing directory. And it had some data for the syncthing itself. I was not sure it if it is wise to synchronise to the same place, so I manually created a parallel directory structure for a synchronised folder.
I was not entirely honest there. Of course I made a
/srv/Sync and set it as the default folder first. Worse! I made the second one as
/srv/Sync/Kamera ignoring all the warnings. Fortunately it was trivial to fix the setup and move the default location to subdirectory of
Don’t try this at home, kids!
Using Syncthing is so simple, that it’s probably not worth explaining. It has a concept of devices. Turris acts as a primary device, so in order to synchronise files from an another device, the client application must be installed. There is an application for Android. Once installed - the new devices will be discovered and displayed in the web user interface. All that was needed was to grant the permissions on Turris and on the Android side.
I wanted to sync photos and videos, so had selected
/storage/emulated/0/DCIM on Adroid and setup the folder type properly:
- send only on Android
- receive only on Turris
So the synchronisation will be one way. Deleting a file from phone won’t have any impact on already synchronised folder on the Turris side.
And that’s all folks! The Turris integration have a few rough edges. However the end result and a software itself is fantastic. Visit https://docs.syncthing.net/ for more details and features it offers.
Used Deepl as an co-editor for this article. All mistakes and errors are mine.