Get rid of Google and Dropbox - Use Seafile sync and drive self hosted, open source options instead.

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] it's your open source advocate and i'm back with another video and today we're going to talk about c file if you ever heard of c file or even if you have you might be interested in this one because we're going to be talking about file syncing now i've shown you next cloud in the past in fact i've shown it to you a couple of times and next cloud's really great but it's grown over the years which is good sometimes that's a good thing for software and it really provides you an alternative to like google drive or microsoft office things like that where you want a whole lot of functionality built into one application it can be really great but if you're looking for just the file syncing something like dropbox kind of originally started as at least where you have a good file syncing service that you can use but you want it to be self-hosted and something that you have on your own property on your own terms then c file might be the one for you and if you like it enough and you say you know what this is great i'd like to use this at my company i'd like to convince my company to use it or maybe you're the it admitting you want to switch them over to that then c file also has paid options this is again how they support the open source versions of their software so please whenever you start looking at these things go check out their pricing see what they have to offer see what might be the benefit to you to other people to your company to your business things like that as well and consider throwing a little bit of money their way because that keeps the project going and again if you like it that much it's worth it in the end because it keeps the open source version going that you can use at home and have longevity with so we target to start talking about file syncing we just scroll down here a little bit and right here they show you what you're going to get so you've got reliable file syncing you've got a drive client which is always great so if you've used dropbox if you use google drive if you use any of those kind of things you know that the drive client gives you access to those cloud files basically and it creates a virtual drive on your machine so you've got built-in file encryption high performance knowledge management which is great and it's also enterprise ready so this is their claims these are not mine i'm just telling you what's on the page here so your data is their first priority and again it's trusted by thousands so here's some of the places that use it i mean there's some pretty big companies and some pretty massive companies so that's pretty awesome so c files pretty great now if you want to get to their to their pages where there's documentation they have links up here at the top we just jump here the documentation page and you can see here i've just i just googled c file with docker and it comes up as like the first hit so deploy c file with docker here you go it's got a getting started page it kind of tells you what's going on and you need docker compose and you need docker and and everything else installed okay but as you go down there's a docker compose.yaml file this is just a super great straightforward file it's the one we're going to use and then we'll modify it a little bit to fit our needs and then they give you the commands that you need to run it if you're going to run it from the cli now today i think i'm going to do this from portainer i love the portainer user interface again another great open source project that is just amazing so i think we'll spin this up in portainer and i'll kind of show you how that works and what we're going to do with that file once you click on that that docker compose link right here it just brings you over to this page here that has the docker compose kind of spelled out and it's got a few pieces to it so we'll kind of get this copied and paste it over and then we'll get going with the installation here in just a minute i want to say thank you to all my patrons over at patreon and my subscribers on youtube thank you so much for all of your support i love doing this channel i love making this media and this content for you i hope you enjoy it as well i do post all of the videos now over at patreon after one of my patrons made the suggestion and i don't know why it didn't dawn on me before that but if you're interested in seeing them through patreon and getting notifications through patreon instead of through youtube or hoping that youtube's algorithms happens to show it to you jump over and become a supporter on patreon patreon.com i've got the links in the description and the show notes i appreciate your support thank you so much all right i've got portainer open i'm going to go in here to my local pertainer install now i've got other ones that i'm using the pertainer agent to also access and control but right here we can see i've got 14 containers already running we can click in and you can see what i've got going but none of these are c file i don't have it going yet so we're just going to jump over here to the stacks page so if you've never used pertainer before what they use for docker compose is what they call a stack because it's a lot of times a stack of software all together which is exactly what c file is so we're going to click on stacks here and i'm going to click on add a new stack i'm going to give this a simple name so i can find it now it wants this to be all lowercase so if you try to type something in and it won't let you click on the deploy button down here check and make sure you don't have any uppercase letters or spaces things like that it just wants us to be a you know a non-spaced lowercase uh word so again we're going to jump over here we're going to just uh copy all of this text here we're going to copy that we're going to jump back over to pertainer we're just going to paste that in pretty simple now we'll scroll this up a little bit so you can see everything and i'm going to zoom this up on the screen a little bit so it's easier for you guys to read that might be on your phones but it's going to use a version 2 docker compose file the services are going to be the database first which is great mariadb 10.5 awesome and then it's going to be called c file dash mysql that's going to be the container name you got a couple of environment variables here that you might want to set so my sequel log the console is true you can change that's defaults if you want to but this one right here this password this is really important so we want to make sure that we get this password set to something really strong now you don't need to know this password you just need to copy it down into the next section here in the file so we can make this a long complex strong password very easily by just typing in letters numbers and symbols and capital letters of course and then just keep typing out everything you can and just no spaces or anything like that and once you've got a nice really long password just highlight that thing and we're going to copy it just like that and we're going to move down um so right here we want to set up a volume now what i like to do is on the on the machine i want to give it a place where i want to have everything done now if you're doing this for file syncing in this case you might want a pretty large area so you might have an external drive that you're actually setting up for this but still it's good to keep your docker stuff organized so even on that external drive you probably want to do something to make it a little bit more organized so what i like to do is i'm going to open up the terminal here and i'm going to bring this up and i'm just going to increase the font a little bit and we're just going to sh ssh over to my system that that we're looking at with portainer so i'm just going to do cd docker because i have a docker folder already set up if you don't have a docker folder set up you should set one up and then you should create all of your folders for what you're going to run in docker inside of that folder now if you do this on an external drive do the same thing create a folder called docker and then put everything that you're running out of docker on that external drive inside of that docker folder it just keeps things organized and easy to find and i have a video on organization that i'll link as well in the description in the show notes so you can see that too but right here now we're just going to create a folder called c file sorry mk c file there we go and we can ls and you'll see i've got c file sitting right there next to up time kuma so i'm just going to exit out of this real quick and that's really all we had to do there so now we're back over here so i'm just going to make this that path so i'm going to change slash opt to slash home brian c file uh docker so we've got slash home slash brian slash docker slash c file and then this was already there i'm just gonna leave it because it'll be a nice way to kind of find the data in the database if i need to it's going to depend on the network called c file dash net if you want to change this you need to change it here and in every section and then at the very bottom as well i'd say leave it you shouldn't have any problem with that with that file name as we go down we're going to see that we have a couple of things here so the memcached area i would just leave alone i don't think we need to change anything there because we go down we'll get to the c file section so it tells you what it's going to use for the c file uh image it's going to take the container name now this port i already have port 80 in use because i use nginx proxy manager and you'll probably want to do this too if you want to have be able to sync from outside of your home and you're running this in a home lab you'll want to change this to a port that's not in use on the host and you just change the left side of the colon here so i'm going to make this 8290 that should be fine and then the 443 is commented out i'm just going to leave it commented out because i'm not going to use c file for my https i'm going to use nginx proxy manager for that part then we've got slash opt c file data again i don't want that to be the folder i want it to be home brian docker c file so just double check that you make yours correct yours won't be brian of course it'll be whatever your username is but make sure you're putting this inside of that docker folder you created as we go down the db host is going to be db and right here db dev we need to copy that password from up here so we just need to copy this thing right here oh make sure there's no spaces there we go we're going to copy that password right click copy and then we're going to go back down here and we're going to get rid of this and we're going to paste it so it's the same we want to make sure that those two passwords match right here for time zone we want to change this as well now this is going to be for me america slash shea cargo and then you have an option here to set your admin email and your admin password now i'm going to tell you what i figured out and what i did so first you have let's encrypt stuff down here as well and uh and a hostname information so i'm just going to comment out these lines i'm not going to delete them but i'm going to comment them out because i don't want it to use those whenever it builds this and i'll tell you why the first time i did it i set up my my admin email and my admin password here in the docker compose file and i ran it and everything came up and i was able to log in like i expected but then i went and tried to change my password through the user interface and it said that it saved so i logged out and when i tried to log back in i couldn't it didn't take my new password i tried it multiple times to make sure i was typing it correctly and it wouldn't take it but then i thought oh wait maybe because it's in this configuration file it didn't get changed so i went back and tried that password that was set originally and it worked and it went in so it to me appeared at least that setting that password here means that you can't change it to the user interface and i don't like that so what it's going to do because we're marking these out it's going to create this me at example.com and then a secret is the password it's going to create for you so whenever you do that we'll log in using that and then we'll create our user make them an admin and get rid of that other thing and then we can do everything through the ui and it's going to be great so that's why i do that just so you know so those are marked out make sure you've got everything else set and it should be fine everything should be good once you finish that now if you don't have pertainer don't worry what you want to do is just take this file that i've got and you're going to put it into the terminal okay so we would go and we'll go back to that uh ssh page here so we're back on the server where we set up the c file folder inside of the docker folder so just move into the c file folder and then right here we're just going to create a file called docker hyphen compose.yml and then right here you're just going to paste that same group of text make your changes inside of this file and then you save it with control o and then enter to confirm and then exit from nano with control x and the only difference is i'm going to click a button and whenever you're not in there anymore you would do docker compose up hyphen d and i'll have this again in the instructions in the show notes so you can do it through the terminal i just wanted to use a pertainer it's it's a really great web interface if you haven't installed it go watch my video on a selling pertainer because it will just make your life so much better with docker and management everything like that but this is how you would run it you'd hit enter it would it would go do the exact same thing that's going to happen when i do this in partainer and you'd be set so so if you feel like doing it that way go for it i'm i'm gonna go right here and i'm just gonna click on the deploy button that's the only difference between what i did and what you're gonna be doing through the cli all right we got the little green check box that's always a good sign and it shows a c file right here that it's running and ready so we're gonna check out our containers page here and right here we see c file so i'm going to click on the logs and the first thing you'll want to do is kind of check the logs and you'll see that it says it's successfully created it but you need to give it a little bit of time and you'll see that it kind of jumps down it eventually says done so it says that it's ready so now it should be ready on that on that port that we set it for so if we go back to containers here we go out here to the right we'll see this port i'm going to click on it and then here we are now remember we did not set our admin username or password so it's using the default so i'm going to do me at example.com and you can see where i've done this before through this browser and i'm going to do a s e c a s e c r e t a secret and i'm just going to say login now if everything worked well we should be logged in there we go we get the little pop-up welcome to c file and you can kind of read about what it is and what it does now you can close this guy out so you can see very quickly that it looks very much like what i remember dropbox looking like six seven eight years ago even it's a very clean interface it's very simple it's got your folders your libraries listed here and then you can set up multiple libraries and then you can sync certain libraries with certain clients which is kind of cool so if i have my imac that i only want to sync certain folders with and this machine that i want to sync certain different folders with i can do that they don't all just sync up together which is pretty great now when we start talking about syncing i want to make sure that i'm very clear with you guys syncing is not the same as a backup never ever make that mistake a backup says i backed up this file and it went to my backup location my backup folder my backup server my backup drive whatever it is later i deleted the file off of my main machine but i still have it in the backup location if i need to go get it i should be able to go get it because it's backed up somewhere syncing says i saved a file and it got synced up to my server it got synced to my other machines that are sharing those libraries and later i went and i deleted that file from my main machine but when it syncs the main machine says hey i deleted this and the server says oh okay let me delete that and all of the other clients say oh yeah let me delete that so you don't have that file anymore because it's synchronized that's what syncing is it synchronizes your data so it is not a backup plan it's not a backup strategy you need to run something else as a backup strategy this is file syncing this says i made a change and when i go to my other machine and and sit down i should be able to bring up that file and continue working on it with those changes in place this is a syncing service so just understand that so i'm going to go over here and you'll see i don't have an avatar set yet so if you want one you can set it but you get some admin options here so i'm going to make the interface just a little bit bigger because i know some of you guys watch this on your phone so again i'll click and you see you've got settings now this is these are personal settings so kind of your profile you can change this of course now i wouldn't change this one i'll show you what i want to do but i just wanted to show you what the settings look like so change your password language settings things like that again i don't think change password is going to work for this user because it's well it may but in the in the other file if you if you undo that and you use it to say your admin password the update password didn't seem to work for me so i'll show you what i did so we logged in as this user and it's an admin user we're going to go into system admin here and you'll see there's a lot of things there's information about the system there's devices which we haven't set up any devices yet so they're not any anything there again they're settings that are more generalized system settings and we'll go through these here in just a minute but we've got uh libraries so you can see the different libraries that are here you can see system libraries and then you can see any libraries that have been trashed and then users so you've got groups and you can set up groups of users but we've got users as well so the first thing i want to do is set up a new admin user so i'm going to say add user i'm going to set this up with my email my name and the password that i want to use and then i'm going to say submit so now you see i've got a new user here which is what we want and then we're going to jump over to this admin tab right here and you'll see there's only one listed that's just the me at example.com so i want to add an admin i'm going to drop this down and it's not showing me yet because it's still doing some things in the background of the database so we just need to give it a minute it takes maybe a couple of minutes now that i see my email i might be able to actually add it um let's see so if you look right here there's my email if i go back to admin i can do ad admin again and if i start typing oh yeah there i am so we might start typing there's brian so i'm going to say save and now i'm an admin of the system which is great and i can go and actually delete this user so i can go back here and i can say me i want to get rid of i want to say delete that user and confirm so now i could go log out yeah there we go so we're going to say log in again but this time i'm going to use my information i just set up so i'm going to use this different one and i'm going to log in now it's going to tell me to change that password that's fine now trust me you want to use a different password here i tried to trick it and use the same password in all three blanks and it didn't fall for it it just made me come back to the screen but once you've done this i'm going to say all right log in again so we do this one more time and now we're logged in and we are a full admin on the system and we can update and change our password when we need to or want to because now we have that capability this is the reason that i did it the way i did inside of that compose file i'll leave it up to you if you want to use the compose file for your admin credentials or not but this is why i did it this way now that we've gotten through that let's go back to some of those system admin settings so here in the general settings if you're going to use a url which i want to um you'll want to set what that url is just because this is something that it may be expecting as far as wait the way the service runs so you'll want to set that here same way same way for file server root you'll want to set wherever that's going to be and then site title so again you can kind of set this to be whatever you want it could be private c file it could be my my private files my box whatever um again site name you can change this to whatever you want and you can even put your own logo so you can kind of white label this system which is pretty awesome now you can set up your own fav icon login background image again same thing you can set up whatever you want and they tell you right here what the sizes should be in order to make this kind of look nice enable branding css so you can use custom css as well and then you have users so allow new registrations yes or no do i want to let other people register or do i just want to set them up so since this would be for my family i'm going to say no i don't want to allow new registrations so i'm going to leave that unchecked but if you want to allow new direct new registrations then check that box activating after registration so do you want to activate a user immediately after registration and it says if unchecked a user needs to be activated by an administrator or via activation email so you have some options here for how you get people activated send activation email so again these things don't apply to me because i'm not going to be allowing registrations but if i set somebody up i don't want them to have to enter an email either so um keep sign in you can set this for more or less if you want to log into temp limit five so there's lots of lots lots and lots of settings you should go through here you've got group settings you've got password settings so force users to use strong passwords password minimum length password strength level uh you can enable two-factor authentication which i think you should do on pretty much anything you run and i will on my on my production system this is just testing for you guys for the video but you can see library history encrypted library library password minimum again just all kinds of great settings that you should really go through and take your time to read about and understand and then set them according to your needs so settings are really important in here don't forget to go set those up as far as everything else devices you'll see devices listed once you get devices added you know libraries you'll see those as you add more libraries users like i said you can add more users so that your whole family can have access to this and it's kind of like a dropbox or whatever you want to call it and they each have their own place to sync their files which is pretty awesome groups if you need to set up groups for a business or for a work environment you can do that as well notifications you can set notifications i haven't looked at this yet we can kind of see i don't really know what it's going to do it doesn't look like it's going to do much so i don't know if i want to do that one yet i don't see any notification settings for like what kind of service it would use maybe just something inside of here and then links if you want to do kind of updated links a pretty nice system right out of the gate here so i'm just going to click on c file to go back to the home page here so here you can see shared things that are shared with you shared with everybody and then you can share with groups and you can pick all groups or if you have other groups they'll be listed and you can decide what you're going to share and with which group you can have favorites published libraries your linked devices again so this would be just for your user and then share administration so decide what you want to share and how you want to share it so that's pretty nice simple short list of options that you have there nothing super hard to understand i think it's pretty straightforward but what we want to do now is set up a sync client so again out on the c file page you can get to their sync clients by clicking on the download i've already got it open over here so for windows they do have a client for windows just go download the client um for mac they have it as well they have terminal clients if you want to use that for linux or they have a client for linux that's more of a graphical client again not hard to set up they have the drive client for windows for mac and for linux and terminal and they also have clients for android and ios and then they have the server which we're already running in docker so we don't really need to look at that but look at this they do have server for raspberry pi so the docker should work for raspberry pi as well and then finally they have a professional edition which i did tell you earlier you can pay for and get a license for but that helps keep the open source project going if you do that so pretty great i've got the client already installed but if you if you go to do it um basically just follow these directions so they give you the standard debian ubuntu directions to go get stuff now they only have up to ubuntu 2004 but i just used it with 2104 and it installed fine without any issues and it opened up no problem so you may have some issues depending on what version you're on but give it a shot kind of know which version if you're using something like zorin os make sure if you know if it's 1804 2004 those kind of things but you know look for those and make sure you're on a system that's going to work with that they also have fedora and centos options as well so it's not just those and they have arch linux if you're an arch linux user if we go back the windows client i think you just download basically and then let's get the drive client for linux because i haven't done that one yet so the same thing that wants to go get the key in fact it's easier just to click the little copy thing here and i'm going to go down i'm going to open up my terminal i want this to be on my local machine i'm going to make this a little bit larger for you guys i'm going to paste in that command i just got so it has a key to the key ring again i'm just going to use the ubuntu 2004 version even though this is 2104 that i'm actually working off of because it's pop os 2104 i'm going to paste that in but it adds the 4204. i don't know why it gets that text so let me there we go we've got our bash command we're just going to run this and then we're going to do sudo apt update that should go out and pull down everything that we need and then they've got the final command which is so we're going to run sudo apt-get install c drive gui for the graphical user interface and i'm just going to put dash y so it'll do it without asking and it should be there so if i go open up c file you'll see that i've got c file which is the sync client and then c file drive so i haven't set up either one of these yet so i'm going to go ahead and set those up once you run the c file client it's going to come up and ask you where do you want to put the folder that it's going to sync which is basically going to be called c file so in my case home slash brian let's just choose and let's just create a new folder while we're at it and i'll go ahead and call it c file i think it's going to put another one called c file inside of it but that's fine we'll save that and we'll choose it we're going to click on next now you need to put in your server information so we're going to do http and this in this case it's on my local system i don't plan to move this system around or have it off of my local network so it's fine to use the local address but if you want to use this off your local network and you just set up a proxy http colon slash 192.168.10.20 6. and that's on 80 to 890 i think so you put in the address and the port now this is my production version that i'm going to sync up here and then i'm going to put in my email address my login email and the password that i set for this version automatic login is fine on this machine and then this is the name of my machine you can change that if you want to to identify the machine but it's fine i'm going to click on login and then when it comes up you get this little screen here that kind of shows you here's the library that you have you can see recently uploaded information you can see your libraries and if there's anything shared you can see that as well up here you've got a little tool to tell everything to sync once and then you've got this little gears icon that'll bring up some settings so you can turn these settings on or off you can set some speed limits you've got some advanced settings that you'll want to read about probably and figure out whether you should turn those on or off language settings as well so english united states is already set for me but if you need to change that you can change it to whatever you want and then network if you have proxies or anything like that to set you can do that as well in my case none is fine so i'm just going to say it's good and cancel out of that so a few settings there inside of the sync client now i'm going to go into my folder here so i'll bring this over and we'll go down to c file so once i bring this over we've got c file right here at the top and when we click we'll see that it did put another c file folder inside of it so you may not need to create that first c file folder um so i'm going to go and i'm going to tell this thing to sync i'm going to grab the documents folder here and drag it down onto the little user interface and you see how it highlights right there i'm going to let go we get this little pop up and it says slash home slash brian documents is going to create a new library called documents and i can choose to encrypt it and then put my passwords in that i want to encrypt it with or not it's kind of up to you i'm going to say ok so this should start syncing in the background and if we go here and we refresh yeah we can see that there's documents and it's starting to do its thing so if i click in so the syncing may take a minute i don't know how long it actually takes we'll have to give it just a minute to see what happens here and it could depend on file size and things like that that you have inside of those folders so i don't know what i was trying to sync i don't remember what's in my documents folder but we can see here oh there we go now it says it's got a check mark so it says it's synced so let's just refresh this view i don't generally work out of the browser view but there you go we've got a few thumbnails and things like that that i've made over time so all my documents are now synced up to my server so this is my server and then back here is the client that i actually just synced that folder with so now if i go and make changes inside of that docker folder i should see those update and change and and get synced and of course the idea is that it gets synced to my server but i would also want to have this on another client somewhere so if we're outside of our network we want to have this set up and be able to access it from outside as well so we go to nginx proxy manager in this case we're going to add a new proxy host and i'm just going to call this sync.routemehome.org i'm going to put in the address of my server in this case it's a remote server so i can't just use the docker address and i'm just going to save that and make sure that i can route to it it comes right up as soon as i click on the routing that's great so now i'm just going to edit it real quick jump over the ssl tab i'm going to say request a new certificate i'm going to say force ssl put in my email address and accept the terms of service and click save we'll let let's encrypt do its thing here and now i should have https access to this drive and it does redirect you to https and i should be able to log in and there we go i'm logged back in and i'm logged in over an https protected network which is great so we've got that set up now i can set up another client on another machine outside of my network to do syncing to my drive and actually sync things back and forth finally last but not least remember we installed c drive so i wanted to kind of get you set up with that and that's s e a drive not like c drive like on a windows laptop but it's the same setup form so we're just going to go back through that same process i'm going to do http colon slash 192.168.10.26 and mine is on 82.90 i'm going to put in my user and my password and this is again the same exact information we just could put a login and it says it's getting everything set up and now i can click on finish and you'll see here that it opens up and now i've got this mounted drive so like i use pcloud drive and for a lot of things just the free account there which is pretty great i like what they do it's a it's a hosted thing but c file drive comes up the same exact way and now i can access my documents now in this case i've duplicated my documents because they're on the same same deal but what i what i really should do is take these documents out of documents and just put them into the c file folder and have that synced up but you get the idea of what i've got going now i've got this really great way to have this drive this setup and i can access those things just like it's anything else in the system just like it's any one of these external drives so there's c drive as well so that's c file in a nutshell i hope you guys got a lot of this get out there and give it a shot if you're just looking for syncing and you're not looking for all of the other stuff that you get with something like next cloud these days then c file might be the perfect solution for you it might be the thing that you've been looking for where you're just trying to sync up some documents sync up some photos sync up things from your family and share them out maybe something for a small business as well i hope you enjoyed this if you did like subscribe tell your friends about it so they can come along the journey with us and i'll talk to you next time [Music]
Info
Channel: Awesome Open Source
Views: 6,488
Rating: undefined out of 5
Keywords: open, source, opensource, open-source, self, hosted, selfhosted, self-hosted, free, libre, software, server, web, internet, browser, linux, mac, macos, os x, windows, microsoft, unix, bsd, ios, android, pi, raspberry, desktop, digital, ocean, digitalocean, vps, tutorial, how to, setup, installation, instructions, cli, command line, terminal, interface, open source software, open source news, open source projects, google, drive, sync, dropbox, apple, icloud, onedrive, nextcloud, owncloud, seafile, seadrive, file sync, filesync
Id: gQ1WYgy6Z8s
Channel Id: undefined
Length: 32min 11sec (1931 seconds)
Published: Tue Nov 16 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.