 I've been using SyncThing for a long time and it's a product that just keeps getting better. SyncThing is a continuous file synchronization program. It synchronizes files between two or more computers and replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Yes, you can self host this, yes this is open source, yes it supports Windows, yes it supports Linux and today we're going to talk about it on FreeNAS. Now in the past I've done some deeper dives into this particular product and I'll leave links to those videos as well. I talk more in-depth about some of the finer details about setting up but we're going to cover the basics of getting it set up on FreeNAS. So I have here the FreeNAS MiniXL Plus all configured and set up and we went over, went to the available plugins and you find SyncThing and oops, there we go. Right here is SyncThing personal cloud and Sync and I installed it. So it is currently set up and installed, well I should just say install. That part's pretty easy. From there we can open up the management and I actually have that open here. So this is default install, nothing's been done. It will ask if you'd like to auto update. I did say yes. So that's the only configuration that's been done. That way we can start with pretty much a base install of SyncThing but as of right now we have no mount points, no data in here. So I want to talk about how to get data in there. So obviously you can click the install button but that's just the beginning of it. You don't have, the configuration can be a little bit tricky because people get mixed up on how some of the permissions work. So we're going to go over here and we're going to start with creating a user and it happens to be, and let me quickly show you how I know this piece of information, I open up a shell right here and we're going to go to CD slash MNT, Tink, IO cage, oops, then Jails, then we have SyncThing and we want it to be in the root of it. And if I do an LSSLA, you see this folder called Sync and this 983, there's no username. That's because Jails have their own usernames within there and if they're not matched at the higher level system in FreeNAS, they won't show up. So obviously root is a valid user but 983 is not and how do I know even what folder to look at? Well if you look at the default folder, it's just slash sync. So now we know what username is going to create for those files. Don't worry, it's not this complicated. It always creates, at least at version 11.2 of FreeNAS here, it's creating user 983 when you create the Jail. I've tried this in several machines. It's always 983. So we're going to hurt accounts, users, I'm going to add a user, give this user a cool name like Sync, easy to remember why we have it. The password is not incredibly important because you're not going to be using it but the user ID is incredibly important because that's exactly what we're using, 983. So now sync, we gave it specifically the user name, sync but user ID 983. Now we're going to save and now the user's created. Why do we do that? So now when we go over here to our pool and our data, so we go to storage, pools, and now we want to add a data set. We'll call this sync thing data. Where the sync thing data goes? All right, put a space there, make it look a little bit professional, cool, save. Now we created the data set but now we got to change the permissions. So now we got the sync thing data right here, where the sync thing data goes. We're going to go to edit permissions, that's why, oh, there we go. We want sync thing to be able to read and write to this directory. So now it is owned and the group policy is the user sync that we created. We'll apply the permissions recursively but there's no data in there so I just do that out of habit so I know everything within that folder, within that data set, I should say now belongs to sync thing and it has read write access to it. Now we can go over here and we're going to go over to the plugins. We're going to stop the plugin here, so stop. You just are supposed to stop the plugins whenever you do mount points and in them. We're going to stop, let it finish, go over to the jail and then add the mount point. Jails, mount points, add a mount point, source, click the folder. It's going to be mount, tank, sync thing data, destination. Now this is where sometimes people get a little confused. We could create another folder and call it sync but for the proper way we're going to put it under here, under mount and we'll add another slash and sync data is what I'll call the, actually we'll call it sync thing data just so we're consistent in naming. Now this is taking the external part and mounting it to the internal IO cage because the root inside of a cage, this is what keeps them from wandering around. If anyone were ever to get into one of your jails, they can't traverse any further back than what was mounted into them, which in this case would be sync thing data. So we go ahead, hit save. All right, that works. And now we're going to go back over to the plugins, installed and we'll go ahead and start it back up. All right, now we created this but there's no data actually in there. So you may be prompted to go over here to sync thing, actually we'll refresh the page now that it started back up. You may be tempted to add this as a folder. Now this depends on whether or not you have data to copy to this folder yet. Currently we just created an empty data share with no data in it and I'll presume your other devices, whether they be Linux or Windows are where the data resides. So for this example, I figured I'd use Windows. I figure a lot of you are Windows users, but like I said, this works exactly the same if you're doing it on a local workstation that's running Linux, you even have options to do this from your phone. So all they did was go through the default install. And once again, we have a basic default install here of sync thing. And there's nothing, we have the default folder here, but we can actually delete that in a second. It doesn't really matter. But I have this folder located under the desktop called business data. This is where all of our important business data is. So how do we get this data synced in there? Yeah, remember we have a blank and empty container waiting for data over on the FreeNAS side, but we have this over here. So we're going to go over and we're going to add a folder. Folder label is data. Same thing. We'll call it business data. Now where is this folder located? It's not here. It's actually going to be, and we can actually just copy paste this in. So copy, there's where the important business data is. We'll get to the sharing in a second. File versioning, if we care about that, when you go through my deeper dive, it has all kinds of different staggered, extended, simple file versioning. That way when you have all the files synchronizing, when there's conflicts, how to handle it, when there's deletes, how to handle it, ignore patterns in advance. So we're just going to leave it at the basic here and save. All right. So now it's scanning and indexing everything that's in that biz data folder. And I'm going to head and get rid of the default folder because we are not going to use this one here. Remove, yep. All right. Now we want to add a remote device. This is where the power of same thing comes in and can be a little bit tricky. So we have the device ID is what it's looking for. So let me go back over here to our, and this is our one running inside of free NAS actions. And we're going to show the device ID couple of ways you can do this. If you're allowing sync thing just to take care of all the networking, you can just copy and paste the device ID in and it will do some discovery when they're on the local network and just find them, which is also really cool that it has ability to do that. So we're going to put in the device ID. So now we have that device name, free NAS, oops, free NAS mini. Excel plus. Now, this is where you have a couple of different options. Let me make this bigger. We're going to click the sharing because we want it to share the biz data. And we won't worry about these other options here. This is where we can set the address. Now, I'm going to go ahead because I know the address of the machine. It happens to be 192.1683.7 here. So rather than use any of the auto discovers, we're going to go ahead and just put in the address instead of dynamic. So you actually type in TCP colon slash slash. Oops, case of the wrong thing. So TCP colon slash slash 192.1683.177 colon 2212322,000 is the port number. So this allows this computer and obviously one of the things that's important is making sure you can even access this. We can open up ping, for example. You want to make sure that these things can talk to each other. I can ping it so I know this computer can get to it. Even though it's on a separate network, by the way, it will traverse networks. It will use UNC path or not UNC, but fully qualified domain names. So if you had a domain set up or an IP address, however you wanted to do this, it will do it and it is sending the data encrypted. So we're going to head and specify specifically this, but it is important that we put this part in here with the device ID and that we have the biz data saved as we want to share this. That way it has something to share. FreeNAS MiniSL disconnected and what it's going to do is you have to wait a minute and it's going to send a packet over here to start talking to this. And now you're going to see how we add the remote devices. It just takes a minute. It's going to vary with how long the machine's been up and running for, but within one or two minutes or less, you'll get a prompt on the receiving end because we told that machine to contact this machine and start sending data to it. And this is going to confirm that you wanted to share data with that computer. And here we go. It says device Tom7PC has the ID wants to connect. Add the new device. We would like to add the device. It's confirming it. Awesome. So we're going to go ahead and hit save because we want to found the other, actually it's kind of finishing up with these are these are other devices on my network that it found because it's auto discovering things and we hit save. Now there's going to be another pause. After we done this, the next thing it wants to do is they sync up and now it's going to say, hey, this has data it wants to share with you. Where do you want to put that data? We're going to wait for that to happen. And here we go. Device wants to share this. I want to add a new device. And then here's add the folder. So we're going to turn this add the folder on and where is that path going to go slash MNT. It's actually another one of my free NAS ones. Wanting to send some data over. So here we go mount sync thing data to that folder we created. We have it over here just to show you again. So Mount sync thing data here. And when we look at the mount points, we'll just go over to Jails, show you one more time. Mount points. Here it is. So the root of the syncing cage is root slash. And we started MNT syncing data. And for us, it's tank syncing data. So there we go. We got that. And we just want to go ahead and we'll leave all the file versioning. Like I said, you can dive deeper into that. But this is where you can do some of the synchronizations. But we're going to hit save. That's going to take a second. And here comes the synchronization. So there's about 500 megs of data so far. And it's copying it all over, putting everything in sync. It tells you what items are out of sync at the moment while it transfers them. And I purposely chose something that had just tons and tons of little files in here. And some of the noises you hear or this free NAS doing it sync over here. So it's up to date folder on here. But right here, it's synchronizing and sending all the data back over there. And it's done. 500 megs moved across. Of course, I have a 10 gig connection between my computer and this. So 500 indexing, that was fast. And sending the data was sort of fast. And that's pretty much it. Once again, we have a default folder here we don't need to use. So I'm going to go ahead and remove this folder. And away you go. So that's it for sync thing. Like I said, it's an available plugin in free NAS. It's been in there for a long time. It's well-developed. It's well-supported. And it auto-updates itself to the latest version after you install it inside the jail. And of course, to connect all your other devices, there's a variety of options from even 32-bit links, ARM, which it does include Raspberry Pi's, of course. Dragonfly, BSD, NetBSD, OpenBSD, Mac OS, a wide variety of options. And of course, on Google Play, you can download it as well. So it's a great utility, excellent way to self-hosting you stay in control of all your file synchronization and combine that with the power of free NAS. And away you go. You've got your own drop blocks replacement without having to pay all those monthly fees and you having control of all your data. And thanks. And thank you for making it to the end of the video. If you liked this video, please give it a thumbs up. If you'd like to see more content from the channel, hit the subscribe button and hit the bell icon if you like YouTube to notify you when new videos come out. If you'd like to hire us, head over to laurancesystems.com fill out our contact page and let us know what we can help you with and what projects you'd like us to work together on. If you want to carry on the discussion, head over to forums.laurancesystems.com where we can carry on the discussion about this video, other videos or other tech topics in general, even suggestions for new videos, they're accepted right there on our forums, which are free. Also, if you'd like to help the channel in other ways, head over to our affiliate page. We have a lot of great tech offers for you. And once again, thanks for watching and see you next time.