I want to store files on my server to avoid google cloud and other services.
I’m looking for FOSS software.
I want all the files to be encrypted client side with a masterpassword via an app or a web interface, the server must not have access to them.
An included android app for uploading and downloading would be nice.
I guess what I’m looking for is some kind of FTP server?
Nextcloud.
If you’re wanting to self-host a cloud service, then Nextcloud is second to none. You can use NextCloud together with Cryptomator for easy client-side encryption, but If you need automatic syncing look into rclone instead.
If you are planning to use this for backups, check out borg backup and vorta(easy to use GUI for borg).
You could use software like Cryptomator and upload it to a Nextcloud.
Because Nextcloud is way more than just a file vault, you may want to use something more lightweight, like Pydio or Seafile.I would recommend https://cryptpad.fr/. All files are encrypted locally. You don’t need a database.
Yeah, this one also has a “crypt-drive” for file-storage. But I think it can only be accessed through the browser.
NextCloud
I suppose you want protection from server compromise if you require client-side encryption. However, you should be mindful that if the code that encrypts your content is served by your server as part of a web interface, then an attacker can simply alter the code that is sent to your browser to leak your master password, or your files. If you want secure client side encryption, you cannot rely on a code that is served by your server either. You will need to install an app.
Pydio is definitely worth checking out.
I use a Synology, but I back it up to Backblaze encrypted with Rclone
I’m using Seafile (https://www.seafile.com/en/home) for this exact use case.
Take a look at Duplicati, it can encrypt your files before upload and sync works pretty well
Nextcloud, but if you selfhost why do you need encryption?
because the server could be compromised
It’s not easy as you may think, if you use a VPN, a secure router and follow common security practices for nextcloud, SSH and the like. If someone can access your server with those thing in place you would have a lot more to worry. IMHO a selfhosted nextcloud works better without encryption, without high risks. Of course if your threat model call for it, encrypt whatever you need, but common users are going to lose too much for nearly no gain
why would it work better without encryption? I don’t see any loss in having client side encryption tbh. common security practices are cool but there are new security vulnerabilities everyday.
Nextcloud encryption isn’t perfect, and you will lose some functionality (e.g. image preview). You could think about encrypting only what you think is particularly sensible, with something like cryptomator
Could try setting up a VPN like Wireguard…
what?
A VPN provides absolutely no protection against a compromised server.
Another vote for Nextcloud from me.
The official e2ee app of Nextcloud is not really great though. Otherwise yeah, solid choice for the most part, even if it has a lot of feature creep.
Nextcloud.