Migrating 1 terabyte of files from OneDrive to Nextcloud
herrherrmann.net
herrherrmann.net
Imagine my surprise some time later when I went to access those files. Upon expanding the zip file, I saw that the media files in question had been replaced by some text files, with their content indicating that the download of those media files failed, and instructing me to try to download them again.
What the heck, so I could download a thousand files, which realistically I can't go through one-by-one to check if any have been replaced by a text file, and OndeDrive does not alert me to the fact that some files could not be downloaded.
I already had issues with the slowness and clunkiness of OneDrive, but this was the last straw. I'm migrating all my data from there.
We have multiple customers that send us data via OneDrive, and for all of them multi-file downloads do not work.
Microsoft's ZIP-Streamer to download multiple files simply does not work.
The text files contain exceptions with contents such as:
PK^C^D^T^@^H^H^@^@<80>L^PS^@^@^@^@^@^@^@^@^@^@^@^@9^@^@^@__myfile.png_Error.txtThis file cannot be downloaded.
ExceptionType: ZipMeTAException.
CorrelationId: 08132d8f-77b7-4c75-a66b-345e8a15c340,
UTC DateTime: 8/16/2021 9:36:53 AMPK^G^H<FB>%Mw<A4>^@^@^@<A4>^@^@^@PK^C^D^T^@^H^H^@^@<80>L^PS^@^@^@^@^@^@^@^@^@^@^@^@-^@^@^@myfile.png<89>PNG
This is nondeterministic per file, so you have to either manually click every single file in a folder to download everything to avoid ZIP streaming (you apparently cannot use any API to download files that were just shared via link and no other auth), or repeatedly "download the ZIP to convergence" -- which is exactly as silly as it sounds.The picture browser is barely usable. Keeps scrolling back to the top. The iOS file provider sometimes doesn't respond. Downloading 500 photos locally on an iPad results in a unresponding app.
this is why a download program should verify with a hash (which should be embedded into the name of the file, or some kind of tracking metadata).
I ended up using Seafile, which is mostly open source and has beek rock solid for the past two years. I'm not looking back!
On the other hand, Seafile is also a binary distributed by Chinese team, and if I was a Chinese secret service, I'd build in all the backdoors I can, which I guess already happened.
This was the reason I tried and subsequently passed on Seafile. It’s one thing if it’s just my stuff, but I was setting it up as a syncing server for friends and family. I just wasn’t comfortable with this prospect and being responsible for others’ files, as well.
I will say that in the west it is probably better to have your personal life invaded (which for a casual user is the reality you must face. It will happen) by China than the US (broadly your choices due to prism), as they are less likely to have an impact on your day-to-day functioning.
Web search for Seafile turned up a GitHub repository, so seems like it's open source? That doesn't rule out the possibility of a carefully-hidden back door that no one has found yet, of course. But I think it should increase confidence over a closed-source binary distribution.
Regardless, this level of xenophobia is getting a little tiresome. If you have evidence that this project is run by or sponsored by the Chinese government, then sure, I'd find that a showstopper as well. But a group of people, who just happen to be Chinese, building something shouldn't immediately be grounds for dismissal. China is a very big place, with a truly staggering number of people, and the Chinese government -- contrary to popular belief -- doesn't have its hands in everything its citizens do.
Seafile is a much better choice if you’re only looking for FileSync (without the whole App Store thing).
Another new and already better and faster contender: ownCloud OCIS, which is a complete Go rewrite of ownCloud and is already very fast and efficient and works like a charm for file sharing.
I considered Syncthing as well, but I wanted both the arbitrary file sync and the web-based features. Figured I'd rather deal with Nextcloud's poor performance than cobble together a crappy Nextcloud clone via three separate apps.
I'm definitely keeping an eye out for OCIS though.
Just upgraded to Nextcloud 25 (literally 20 minutes ago), and no problems whatsoever.
I deployed it on a virtualized server which is not extremely powerful, and everybody seems to enjoy the productivity boost it brought into the team.
The performance is underwhelming (it's PHP after all) but we just threw CPU power at the problem...
I wonder if the issue is with Nextcloud itself, or with the particular hosting provider.
My partner uses Windows 11. She works and also studies in college. In both places they use Office360 so, she has her laptop set up with her Microsoft accounts and switches between college one and work when needs it. The other day, she came for help asking why the college OneDrive was getting full when she only has documents. Turns out that the fucking OneDrive decided to synchronize the whole user personal folder (where she has very personal stuff) into the college's OneDrive. Surprisingly, disabling such a wrong behavior was not straight forward as I expected. Microsoft has managed to make it ambiguous enough for having to spend a fair amount of time on such a simple thing.
I don't know it's just another example of them trying to shovel down your throat their cloud services or just some obscure plan to simply have access to all your very personal data (or both).
Source: Msft Employee
But of course that model isn't a great fit for university students, who will usually not have a laptop issued by the university. Not an excuse for this happening, but I can understand how it would.
Even when it's a personal account, that feature messes up the C:\Users\username folder layout so then some apps save things into the non-OneDrive desktop folder and there's no way for an ordinary user to find them. Not to mention syncing broken program shortcuts (.lnk files) across devices and so on. This whole synchronization feature is a sysadmin nightmare slapped on top of a filesystem that wasn't designed to support it.
Seafile has a syncing client, and a drive client (Seadrive) for viewing files as if it was a shared drive.
Since moving to Seadrive I have not had a single support issue, nor heard of a single issue syncing, whereas I'd have them weekly with OneDrive to the point we'd have to delete their local files and re-setup OneDrive from scratch.
OneDrive truly is an abomination built on top of archaic Sharepoint.
OneDrive _for business_ is built on Sharepoint. Onedrive ... erm ... not for business (?) is an entirely separate product, and they don't interoperate.
Which is another baffling decision by Microsoft branding, since for regular users they make no distinction. It only becomes apparent when you discover you can't work with people outside the organisation.
That is oh so weirdly common in MS ecosystem... like Skype for business being Lync and being significantly worse than "just" Skype (no idea what MS teams voice chat is based tho)
You can share externally with Onedrive for business...
It's a setting in Sharepoint admin...
Once again, people here have no idea that most of their complaints with O365 is how management sets the security policy... not the platform itself...
https://learn.microsoft.com/en-us/sharepoint/turn-external-s... :)
You are right in that it used to be bad.
Groove.exe... The old Onedrive for business client was a horror
Yes, but not (simply) with OneDrive, as the branding would suggest. Lesson learned, anyway.
There are only very rare hiccups with binary files such as excel sheets or PSD files, where seafile will create a “SFConflict” file. Havent figured out how to fix that het.
There are also significant benefits of running your own NAS - no big tech company has your documents, and they can't lock you out on a whim (such as if your Google or Microsoft account gets suspended for sometimes unfair reasons). The access speed is much higher with the data on LAN, and therefore there's little need to keep the data duplicated on your machine. And you have offline access. Security options are generally better than with most cloud providers - you can configure the firewall to deny access to anyone but whitelisted IPs, or do the many other things you can do if you own your firewall.
Finally, it's not true to say that all of your files would be gone on a NAS if something happened to the server. This goes back to the saying about data copies "two is one and one is none". You can set up backups to another NAS overnight, or use one of the cheap cloud storage services not meant for random access like Backblaze B2. Of course, the NAS itself is vulnerable physically - if it gets caught in a fire, stolen, or flooded for example.
I agree that objectively, it’s not much work to maintain the Synology NAS once everything is correctly set up. But I personally just got tired after attempting to configure the network access alone for the nth time. My goal was to make the NAS accessible remotely (i.e. from outside my home network) and I felt like that was already a big task (comparing different DynDNS providers, port forwarding, asking my internet provider for a static IP address). And the recurring tasks (mostly renewing certificates for the , as far as I remember) would annoy me every year or so.
And I agree with the advantages you listed about a NAS setup! That’s why I tried one out, after all. I did run into some scary security situations (once the DynDNS was set up, someone was immediately trying to log in via brute force), but nothing too major, fortunately. And I never got the network setup right (e.g. to use the local network speed when I’m home and still access my files the same way when I’m away via the internet). So, these were only theoretical advantages that I could never really get to myself (I’m sure other people figured it out, but I didn’t exactly find good documentation on these things online either).
And regarding your last point, I also generally agree! Although it feels silly to me to have a NAS at home and then still do regular backups via another storage/backup service elsewhere. I wouldn’t want to back up 1+ TB of files every day or even week, although there might be diffing solutions for that.
Anyway, I hope this answer makes it clearer why I decided against a (Synology) NAS in the end. I’m sure other peeps figured it out and are happy with their Synology setup, but for my purposes I’ve never really gotten there.
> I personally just got tired
Its true that a Synology NAS takes some effort to set up initially and a little bit of maintenance work every now and then. But I don't think about my NAS most months. And on the months I need to, it's usually a short task that I do along with other house chores.
> I did run into some scary security situations (once the DynDNS was set up, someone was immediately trying to log in via brute force)
Yes. Unfortunately, that's pretty common on the internet. You can auto-blacklist IPs after a few incorrect login attempts, and firewall-blacklist IPs out of your country in general. These two measures should almost eliminate the brute force spam, and you should be able to verify that they are effective in Log Center. However, you also have other options because you own the firewall if what I suggested doesn't make sense (like if you are traveling a lot).
> Although it feels silly to me to have a NAS at home and then still do regular backups via another storage/backup service elsewhere.
My backups are be automated with a Synology app (like Hyper Backup). It uploads only changed files. The cloud storage on Backblaze is pretty cheap - I think I pay under $2 per month. But this gives me peace of mind for the "NAS destroyed in a tornado or something" scenario. On the other hand, keeping files in a NAS gives me peace of mind that I own what I have - no cloud storage provider can take it away from me.
All in all, I'm happy you found something that works for you. I think you value simplicity and time more, and I value control over my data more. So our choices differ. In any case, I just wanted to offer context from a NAS user.
I do exactly this; a nightly backup to S3/Glacier. I use duplicity, so it only uploads diffs from the previous night. My NAS is a 4-drive RAID5 setup (RAID is not a backup!), but if I lost more than one drive -- and that has very nearly happened once -- all that data would be gone, forever. It only costs me a few bucks a month for that added peace of mind.
100% agree however that documentation is often lacking, though the OPNsense and FreeNAS docs remain pretty good.
>And regarding your last point, I also generally agree! Although it feels silly to me to have a NAS at home and then still do regular backups via another storage/backup service elsewhere. I wouldn’t want to back up 1+ TB of files every day or even week, although there might be diffing solutions for that.
Every backup solution I know off only syncs diffs, that's pretty table stakes for precisely that reason. For units that support snapshots, there are also plenty of controls for dealing with snapshot lifetimes and pruning. All of that certainly still is more upfront to setup however!
I think the big reasons for the expense and effort of a NAS though are mostly down to if you can/will make use of the speed and scale advantages. The security aspect might be a bit of a wash, one can do E2EE anyway with a typical cloud provider, and while they're more publicly exposed they've got much more serious effort behind them too. At 1TB it's probably not worth the effort. But other options definitely get more expensive as one gets into 10-20+ TB, and the value of more serious data integrity and snapshotting and so on too. 10 gigabit and even more is also getting quite reasonable to do on LAN, it's easy to saturate these days, and particularly for those of us living in rural areas with mediocre uplinks that can be genuinely handy.
I feel fortunate to though to live in a time when we all have so many options to meet our exact needs. Possible for a home or small business to put together options now that would have been top end enterprise stuff not that long ago.
My only gripe is that they do not allow Nextcloud external storage[0] but that's understandable given what they're selling.
[0]: https://docs.nextcloud.com/server/latest/admin_manual/config...
Seems like they do now, you just have to turn it on manually.
So I have my phone pics synced to my NAS and PC, my blog's markdown files between server and my computers, another dir for some music etc. There is also option for simple versioning in case you need to dig out the old files but it's not integrated with OS as it is "just a directory".
Disadvantages is that you need at least one other device running to sync as it is P2P (with some community-ran server to forward if you're NATed out of sight) but other than that, literally zero problems.
That's not really true. You can specify which files you don't want synced. So, on my phone i can say "don't send me files that match the following pattern" https://docs.syncthing.net/users/ignoring.html
So in your example you could make a subfolder "big files" and exclude that subfolder from being synchronized to your mobile device.
I also love syncthing. I've got it set up to transfer my phone's pictures to my PC where I regularly sort through them and weed them out. And I've got a shared folder that's replicated across all my devices that contains my Obsidian vault, my KeePass file and other useful things
But we all know that this probably comes at a potential cost, e.g. privacy related concerns (anyone remember the controversial Dropbox board appointment of C. Rice back in the day?), services getting hacked etc.
So knowing the above and knowing that with Nextcloud, Owncloud, Syncthing etc. you fully control your cloud backup, any (perhaps) lower performance takes a step back for sure. But then again, if you're hosting on a server that's geographically close to you & on a solid datacenter with great peering (e.g. Hetzner, Scaleway/Online.net or OVH for Europeans), performance can be on par or perhaps even better compared to "established" backup cloud services.
Later, when I left that job, the company removed me from the corporate Dropbox account. Dropbox removed all the corporate files from my local machine, and also all my personal ones. And deleted my personal files from my personal dropbox account, too. Luckily, I had another backup I was able to restore.
Now, I never link personal and corporate accounts of any kind, and stopped using Dropbox once they stopped supporting Linux.
I have it set up on all my families windows machines, my personal machines and between two NAS. One of the NAS does nightly backups to backblaze.
Works pretty flawless.
I've tried really hard to make it work (including self-hosting), but it's just poor software, for a few reasons.
Worst problem, which I haven't experienced with the other services, is that if there is a connection problem (this may happen routinely, if servers have scheduled downtime), files may go out of sync. Result is that, ridiculously, one may get conflicts even if they're using a single client in total. There was an issue opened, which has been ignored and autoclosed for a while.
Second, lack of centralization causes a bit of a mess. One never knows which version the servers ship (although one may not care); hosts may be less realiable, and finally, hosts may change frequently (I've see a few changes in the list of free servers) so one is never sure how long the service will be offered.
Also, the configuration shipped with the Nginx version was not great. Overall, I think that the software "isn't great", and I don't trust it for personal data.
Hell, I managed to kill our corporate server by navigating to settings page. How ?
Browser auto-filled fields
JS auto-submitted that as changes. Didn't verify them working before submission either.
What browser (for some fucking reason, I didn't click any confirmation) remembered in LDAP settings was no longer a correct config so it auto-broke any time I navigated into settings page.
Nextcloud provides way more than data backups. It is best in class for personal internet services. My family and friends use my server for syncing their contacts, calendars, tasks, kanban, music, RSS, bookmarks, passwords, notes, and finances to all their devices. Ours is also setup with Talk for voice and video conferencing, polls, forms, phone tracking, CMS, mail, maps, activity pub social media, and there are a ton of other possible apps. It is perfect solution to avoid Goopple.
My neighbour had a lightning strike hit their robot grass mower. It fried every electronic device on their parcel. Including half the non-connected power tools in their non-house-connected shed. It was a wild thing to witness the aftermath of. Basically anything electric that had been semi-close to the robot grass mower "stop here" line circling the grass, got fried. The plastic of on none-electric tool literally melted. Nobody got hurt, thankfully.
Your shed may be on another planet for all I know, but the amount of damage caused sure made me respect the "two separate physical locations" more than I used to.
I kinda thought about also getting a solar/battery backed small server that was connected via WiFi for backup for galvanic isolation (for case when it hits nearby power pole and not building directly) but eh, would need to be in noticeable distance from everything else to make sense
You'd have to:
- Purchase the hardware & replace if it breaks
- Install the software & keep it updated
- Pay for electricity
3.2€, that the Hetzner 1TB storage box costs, would be cheaper than the current EU electricity cost alone.
However, Hetzner storage isn't encrypted (AFAIK) so I would _never_ put my personal files in there. I pay the extra cost gladly.
There's lots of alternatives, of course - right now Icedrive is the one that I find most interesting, as it has similar prices to Hetzner, provides nextcloud-ish features and is E2E encrypted. I still need to look into how trustworthy they are though.
4.29€ in Germany. And I’d need a server that constsntly consumes 14.5W to make Hetzner cheaper, that’s 3-5 times what my homeserver averages.
And it's considered one of the most energy efficient.
If you have one that's more efficient, it's probably running Raspberry Pi and SSD storage or you're not measuring from the outlet.
[0] Similar to: https://www.servethehome.com/hpe-proliant-microserver-gen10-...
But yeah, with 4 HDDs you will use a lot of power, that is to be expected, HDDs are power hungry. I’d guess they are responsible for most of the consumption.
[0]: https://github.com/R3NE07/Futro-S740/blob/main/power_consump...
edit: Also, your server is running AMD Opteron X3421 from 2015. That’s even older than the already old J4105. I doubt that’s currently considered the most energy efficient anywhere.
~$400USD in the used market for the chassis. Add another ~$100 each for four drives, maybe one extra as a spare, so we're at ~$900 for just the hardware assuming your used box had enough RAM and what not for your needs.
I have cheap electricity right now at ~$0.09/kWh. 0.035kW * 24 * 30 = 25.2kWh/month, * 0.09 = ~$2.27/mo in power costs. I won't add internet costs as I'd have the same internet connection with or without the server.
Over 5 years, the power cost adds up to ~$136.20 at my current rate, which will probably only be higher over the next 5 years. So total costs assuming I don't have any hardware failures outside that one spare hdd over that period is then $1,036.20, or $17.26/mo.
Comparatively, I spend $15/mo for a VPS with a large cloud provider doing similar tasks as what I would use that microserver for. For doing things outside my house, it has far better networking than what I could get at home. It has automated backups stored at that cloud provider. It has way more reliable power than just using my mains (I didn't include UPS costs above!) and generally more reliable internet services. Its running a way newer (more features) and faster processor than that Gen 10 microserver is running. It doesn't take up space in my closet.
There's definitely networking tradeoffs to consider. With the VPS, obviously I'm limited to my internet connection performance and increased latency between the two sites. But conversely, I probably get better performance on most networks outside my home to that VPS. It then really depends on what kind of access patterns you should prioritize.
At the end of that five years, I do technically still have that hardware whereas at the end of 5 years on my VPS I still have a monthly bill. I agree that hardware has an excellent chance of living way more than 5 years, but at the same time it might break somewhere along the way and last you less than 5 years. I definitely have hardware that's lasted over a decade though, so I'd lean towards it lasting a bit more than 5 years.
There's pros and cons both ways to think about, and I don't necessarily think either direction is the answer. The answer really depends on what you're wanting to prioritize.
I do constantly think about these Gen 10's though, they seem pretty awesome!
That looks like a really great deal.
*I am a pcloud user since 5 years ago
It’s the only solution I’ve been able to send at consistent 1Gbps speeds to (except when it’s many tiny files).
About encryption, you unlock it once per restart and it stays open. It’s not like you have to enter password every time you move a file..
(For the backups i use rClone with encryption)
I encrypt all my files locally before sending so the encryption doesn't matter for me.
I use rclone with --transfers 32 (for smaller files) and it seems to work fine without throttling.
Every time people talk about self hosting or using a different cloud provider my biggest concern is auto save. And I haven’t heard anyone address it.
That is saving manually, and then the file gets synced.
Autosave you don't need to click save/ctrl+s
https://support.microsoft.com/en-us/office/what-is-autosave-...
>AutoSave is a new feature available in Excel, Word, and PowerPoint for Microsoft 365 subscribers that saves your file automatically, every few seconds, as you work.
https://vimdoc.sourceforge.net/htmldoc/recover.html#swap-fil...
Both have access to data.
does the macOS and iOS backup. Click buy and pretty much done. Also have my parents data backed up with family sharing, I don’t have to be family IT support!
If you have other devices… Tim Cook recommends replacing those with Apple devices /sarcasm
Only requirement not met is not having a plan that supports more than 2T.
Yes, Apple owns my life. But happy about it for now, good value.
OneDrive is just too slow and clunky for me on MacOS
Dropbox just kept failing to start a sync from iPhone (likely entirely due to the OS not giving it a chance) but was otherwise very reliable and fast.
Google … I just use for a second copy of my photos and occasionally check if it’s syncing okay. It usually seems to be.
You could say I’m 100% on Apple working decently, but with 3 copies I feel relatively safe.
I wish there was a third party tool to occasionally verify the whole library to ensure photos don’t rot or just disappear.
But yeah, I’m still keeping the lowest-tier iCloud subscription to sync my photos via Apple Photos, which is quite nice to have.
For sensitive stuff I placed a encrypted sparsebundle on my iCloud drive.
one terabyte of HDD space ≈ $12
1. Multiple people and devices use this one account.
2. Said multiple people are not technical - they don’t always know/remember to plug in a drive to their device for backup.
3. The mental load reduction is amazing. The iCloud keychain feature + faceID + multidevices is so convenient, I don’t understand why I ever spent effort in crazy tool and file plumbing schemes. I use the $2.99/month plan, and my time is worth a lot more than that (at least 3000 times more using paycheck…). I’d rather spend time with friends and family doing other things than debugging our collective backup schemes. That’s value.
Its a business with a questionable legacy, and I have no idea what the longevity is of the service. Your data is probably fine, but it attracts a certain clientele that might put the service at risk long term of another seizure or whatever.
I also use Mega for big files, but not as my primary backup solution or anything important.
This is what a good backup solution is for.
While Hetzner's product and other hosted NextCloud instances come with some protection baked in I would still strongly suggest an off-service backup rather than keeping all your eggs in one basket.
(I'm assuming here that NextCloud is being used as the primary storage, rather than a backup location for other storage, if everything else is elsewhere already then the need for an extra full backup solution is reduced)
Anything I'm only keeping for convenience or sending cloudwards for transfer/sharing purposes, doesn't need the extra protection. Though it sometimes gets it as errors in that direction are better than risking failing not-safe with other data.
In terms of actual computer backups, thanks to btrfs+btrbk I can incremental backup every hour over LAN to my server and also to my attached USB drive. With compression/snapshots this is pretty small.
I've used PCloud for years now. I only unlock my Crypto when I need files from inside it, keep it unlocked and accessible for as long as I need, then lock it again. It's actually a really good way of working. Less valuable files are always available in the main mapped drive so working with them is easy, but the more secure option is available too.
It also supports Linux properly, and whilst not as fast as DropBox is certainly faster than Google Drive and OneDrive. And it allows multiple synced folders in addition to the mapped drive.
I moved on from Google Drive when I found that some of my documents, which I'd specifically requested be mirrored locally, were found to contain http links to the online version rather than an actual local copy. Meaning some of my local backups contained useless stub files. And the total inability of the web UI to give me simple folder size details was annoying - almost like they were encouraging me to keep filling the space I had.
I moved on from OneDrive when it wouldn't let me store files it thought might be dangerous (including `.js`, though I suspect they fixed that years ago). I also stored some older PHP code files in there (old enough to predate my git usage). When I looked at them they had an extra line of text added to the top of each file. I can't remember if it was a hashbang, comment, or text, as it was too long ago. I just remember my shock that they would change my uploaded files automatically.
Conclusion: after trying all those the article did (except, oddly enough given the article, NextCloud) I found PCloud to be ideal. For me.
Hi @athrow, would you kindly provide a little more info here? What exactly are the issue(s) around photos? I ask only because i've been managing my own instance of nextcloud for years, and had seriously been considering moving to the managed Hetzner approach. (I love nextcloud, but just trying to reduce maintenance tasks that i do every month, etc.) So, any details or experience you would share around nextcloud and photos is greatly appreciated! :-)
1) It seems that some movies are placed first in the Photos screen, no correct thumbnails are generated for these. I'm unable to play the vide of these movies (.mov files). This means that when opening the Photos app I'm met with a wall of thumbnail placeholders.
2) It seems that for the photos the thumbnails aren't being pre-generated. There is a wait time until the thumbnails are generated. https://docs.nextcloud.com/server/latest/admin_manual/config...
3) Random error loading of the photos - some photos just don't open and display the placeholder thumbnail.
4) Linked to 1) - some videos appear between photos so I'm getting a mix of photos thumbnails and placeholder thumbnails.
5) As I scroll down the thumbnails are generated so there is a noticeable lag between scrolling and photos appearing. iCloud can generate thumbnails almost as quickly as I'm scrolling so the difference is noticeable.
6) Lack of any AI integrated into the product (face matching etc.)
Ironically using a Windows as a NAS is easier because everything is point and click, reducing cognitive load.
You can also afford to be on a slower update schedule if you stick the application behind a NAT and proxy, which blocks 99% of drive-by attacks (because the attacker don’t even know where to look).