Keep computers synced without somebody else's cloud
Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Keep computers synced without somebody else's cloud
Multiple computers, keep everything centrally stored at home and synchronized, external access to the home network through a self-built VPN portal, zealous about privacy. How did you solve this?
I have been using Linux systems for 13 years. I am long overdue for centralizing and synchronizing my computer usage. Multiple computers, multiple email addresses, Firefox, RSS feeds, event reminders, and multimedia.
I procrastinate because I won't store files and data "out there." My files -- my data. I want everything stored on my property under my control. Off site storage is not going to happen -- I would rather remain nominally inconvenienced.
I have been reading much about potential solutions so I do not need replies such as "This looks interesting," or "Have you looked at this?" Instead I am hoping to hear from folks who have already gone down this road. Personal details and experiences are far more useful than app descriptions and feature lists.
Ideas, comments, and virtual two-by-fours appreciated.
I use the good old fashioned cifs approach. Mount a central file server as a local filesystem and viola! Your data is in sync whatever device you use! There's really so many ways to implement this. It really comes down to personal preference and other bottlenecks. If you want to share data across platforms, cifs is probably the easiest way to do that. Other network file systems exist, but might not have compatibility on all platforms.
Thanks but btsync is proprietary. I probably should have added free/libre software as a base line for what I seek.
Quote:
Mount a central file server as a local filesystem and viola!
Yes that solves local file sharing. I already do that. What about mobility? How to sync email, rss, Firefox across multiple systems when the local file server is not available....
sshfs is a very effective usage of securely mounting a server from anywhere. Using password-less public key is even better since many gui file managers can then automatically mount it when bookmarked. That's been very effective for me.
As for syncing, I often use rsync with a ssh backend to sync firefox and my email. If I need to move files, I use scp.
Quote:
I have been reading much about potential solutions so I do not need replies such as "This looks interesting," or "Have you looked at this?"
since many gui file managers can then automatically mount it when bookmarked
I have used sshfs but not extensively. I did not realize file managers tie into sshfs. Would you please provide details or links?
Quote:
As for syncing, I often use rsync with a ssh backend to sync firefox and my email.
This is what I currently do. I wrote my own shell script that has been evolving for many years. Works fine but when I bought a laptop two summers ago and decided to use the laptop for testing several distros, I then realized my script was limited to one distro. While I have updated the script to overcome that limitation, the script is not what I envision. Using cron helps but I want a more seamless and automated way to keep things synced.
While my office system runs only one distro and one desktop environment, the laptop runs several combinations. Keeping all of this in sync is becoming work.
I did not realize file managers tie into sshfs. Would you please provide details or links?
You (according to the post) use fedora. I use Linux Mint which uses a nemo file manager. I didn't go into specifics because gui's inevitably have different methods of doing the same thing.
However, since my example is with nemo, I will list what "I" would do.
Nemo can connect to a server of several types (File -> Connect to Server)
In that menu, I can connect using SSH (Type -> SSH)
After filling out the server and because I already have ssh public key encryption setup I ignore any username or password.
After hitting enter, I now have normal file access to the server as my user.
If I bookmark the address which follows the general format of:
Initially I resisted sharing that information because I did not want to steer or limit the direction of the conversation. I thought that if I remained silent and let people share that I would see better responses from an experiential perspective.
I want to move from app-centric to data-centric thinking. Generally apps do a poor job sharing data. Consider calendar apps -- many use their own native data formats rather than an exchangeable format.
While I already share files in my home network, there is much to improve. For example, when I roam outside the home with my laptop.
An example is I use maildir and kmail-trinity (because for years I used KDE3) on my main office computer. A challenge to manage email from my laptop where I primarily use MATE.
All of my several email accounts are POP3. Trying to sync POP3 is a headache. IMAP solves the centralization and synchronization challenge, yet the idea of leaving personal data online anywhere makes me shudder. External storage of personal data is not going to happen. A home built IMAP server sounds palatable, especially if I configure a VPN into my network.
Currently I am leaning toward a somewhat complicated getmail/procmail/postfix/dovecot approach. Then reconfigure any or all mail clients to access my local IMAP server.
Another example is Firefox. While I use different distros and user accounts, basically I configure FF the same for each. I want to keep the profiles synced. Firefox Sync sounds great but the data is stored in the nebulous and uncertain "cloud."
I get my news through RSS feeds. I use QuiteRss and while I keep things in sync amongst all computers with a script, I would be better off with a local RSS server and probably a web based interface.
For event reminders I use kalarm-trinity. I don't use KDE4 at all and have no plans to use KDE4. I do not need full scale calendaring but I am accepting that to centralize and synchronize I need to move to a full scale calendaring app. I am not obsessed with Getting Things Done. I only need simple event reminders (e.g., garbage day every other Tuesday). I want to be able to use any computer so some kind of calendar server seems to be where I need to go regardless of the client apps used.
I am aware that OwnCloud offers some of this. Also Tiny Tiny RSS. Apps like radicale.
I also wonder whether a groupware solution such as Zarafa would be a better fit.
Perhaps an all-in-one approach such as groupware or ownCloud is trying too much. Perhaps I should resolve each goal individually. One way or another I prefer distro-agnostic and app-agnostic solutions.
I also need to access my home network externally usually using Android phone and this is the configuration I use.
One Server connected to internet with dynamic domain name (dont have static IP). Put server firewall in blocking mode to reject all connections (lot of attacks may happen on open ports). Install OpenVPN server to create a VPN network and EasyRSA to create certificates and keys for the VPN connection. Following servers are used after connecting to VPN network.
1. VNC for virtual computer access.
2. Samba for filesystem access, video streaming, music, downloading / uploading documents etc.
3. SSH for emergency command line access.
+many others just for fun
Is your requirement to replicate everything on multiple computers or access one or more computers externally using VPN. I have one machine thats why I dont need to copy files. But for multiple computers you could rsync to copy between multiple hosts or just use Samba to make available all the files over the home network and access the network through VPN. This will save you space.
Also LMDE, CentOS, and Slackware. While I do tinker and experiment, for production I only use Trinity and MATE desktops.
Quote:
Nemo can connect to a server of several types (File -> Connect to Server)
Ah, okay. I now see the same functionality in Caja (MATE). I'll play more with that. Thanks.
Quote:
Why not have a separate partition that auto mounts for generic "data" to access from all distro's?
I am already doing something like that. When I am home I connect to a /home/public from my office system -- if the system is on. I duplicate part of that structure on my laptop so when the office system is unavailable I still have app functionality. No access to all of my data files but at least basic app functionality such as Firefox or QuiteRss. When the office system is again available I resync manually.
My long term goal is to have everything on a central server and a more automated method of keeping apps in sync. I want to install a local VPN, which I then could use to check my email from anywhere using my own IMAP server. Likewise if I am bored at the dentist and want to check rss feeds -- just use my VPN and a central RSS feeder.
What I have now with my "sync scripts" is livable but nowhere as convenient as what folks expect when they store data in the cloud such as dropbox, webmail, or feedly.
At the moment I might be leaning toward getmail/procmail/postfix/dovecot to centralize email, Tiny Tiny RSS to centralize RSS or possibly ownCloud, possibly radicale to centralize my event reminders or again possibly ownCloud. I have read how to configure a local Firefox Sync server -- with some sweat equity.
But I really hope to hear from others how they solved some of this to their own satisfaction. So many possibilities.
While I already share files in my home network, there is much to improve. For example, when I roam outside the home with my laptop.
...
A home built IMAP server sounds palatable, especially if I configure a VPN into my network.
SSHFS would be viable for the first.
Opening a IMAP server publicly poses problems and while a VPN would work, you can use SSH again for this purpose.
SSH can forward ports to a computer. For example, forwarding port 223 from the server to port 6000 on the localhost.
Then by pointing each computer to 127.0.0.1:6000 would cause them to access your imap server.
You could do the same with a rss server and calendar server.
One Server connected to internet with dynamic domain name (dont have static IP).
That is one thing I have already done: I have a static IP address.
Quote:
Install OpenVPN server to create a VPN network
I am using DD-WRT in my router, which has a basic VPN server installed. I want to get these other challenges resolved before I tinker with VPN.
Quote:
Is your requirement to replicate everything on multiple computers or access one or more computers externally using VPN.
VPN is not my primary concern. VPN will be the final icing on my cake. My primary concern is my laptop with those multiple OSs and user accounts. I also would like to add a tablet. I roam all over the house with the laptop. If my email was stored on a local IMAP server, if my RSS feeds were stored on a local feed server, if my event reminders were stored on a local calendar, and I configured a local Firefox Sync server, then I could use any computer in the house and not miss a beat because those functions no longer are tied to specific apps or user accounts. After all of that is configured then adding VPN is basically just an extension of my work flow.
I was not thinking my local IMAP server would be exposed. I was thinking the IMAP server is available only on my local network. VPN would allow me to access my mail through the VPN tunnel once I connect to my local network subnet. That is, I would be able to access my local IMAP server only through my VPN tunnel. Otherwise the IMAP server would not be discoverable. I was not planning to configure the IMAP server the same way as cloud IMAP servers.
Quote:
SSH can forward ports to a computer.
I have played with that in the past.
Quote:
Then by pointing each computer to 127.0.0.1:6000 would cause them to access your imap server. You could do the same with a rss server and calendar server.
Hmm. I am seeing a tip of an iceberg here, but at the moment that is all. I need to let this idea fester for a while.
Take a look at unison. It does just that - keep data on different locations in sync. You can run it through ssh and it works amazingly well.
It can also be used in batch mode and thus be automated in a cronjob. When there are conflicts, it will just ignore conflicting files and inform you about it through the return value.
I am using this to keep several laptops in sync with a server running at my home, so basically as a star setup.
It works best if you run the same versions on all machines, but most distros will have several versions in their repos to allow for that. E.g. my server runs Debian Wheezy (i.e. pretty outdated package versions) and I am running Arch (i.e. bleeding edge) on one of the Laptops and it still works (albeit requiring a littlebit of tweaking).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.