So...yeah. As I'm moving away from google, I'd like to store my contacts elsewhere. I have proton (I know, I know), but this is also not great, since their system isn't too android-friendly. Which system (maybe self-hosted) would you suggest to easily sync/backup your contacts?
And the extremely low tech solution of just having them offline in a foss contacts app and exporting backups from that app to your storage in case you lose them.
that's not a good solution because a lot of apps will be able to read them. It's not always possible to decide for yourself what apps you have, sometimes more powerful people are going to make you use one that you don't trust.
I said in a foss one, I don't think the foss developers are conspiring to get rid of your contacts, maybe for apple you might have to hope the developer doesn't get burnt out, but the android foss community is pretty robust, but if you're that paranoid just put them in a txt file or a spreadsheet.
How...do you self-host both the server AND the web client? Do you need two different addresses? Can it be done on the same server/container?
I understand I can just run the the server, which has this tiny little add-user and permissions page, but I'd like to also be able to handle the contacts and calendar from the Web UI from a computer whenever needed. Of course I know I can plug any app to the server directly, but I'd like the web UI, too...Do you know how to do this? I've spent a couple of hours searching without much luck.
Thanks! I was trying a first run attempt, but I got stuck setting up python. Seems these setup instructions don't quite work anymore due to python's virtual environment, pipx is suggested now. Alternatively I saw the option to just install a dated version, but it was quite a bunch of releases behind. I gave up and had a bit more success with Etesync server. Although I'm trying now to figure how the hell am I to setup both the server and the web client on the same running environment...I'd like to host the web client too, so I can edit calendar entries from the web UI.
forget NixOS. I understand that for seasoned users it might be a cool thing, but as I see you may be a beginner, and you totally don't need that.
docker is solid advice though. use that and a reverse proxy, like nginx or apache (they are complete web servers with revproxy capabilities), and put different services on different subdomains of the machine's hostname (like api.etesync.mypc.lan, and web.etesync.mypc.lan). that way you basically run multiple services with the same IP and port, and the reverse proxy separates the different traffic of services by looking at the subdomain.
if I'm right that you're a beginner, take your time, you're not in a rush. it will work out, but you're learning, it might take some patience here and there
I do that for myself, but I can't recommend that to 99% of people around me, and I can't let them into my system either.
I have seen etesync, but that requires a subscription.
was thinking of something with syncthing, but that has difficulties too (missing tools mostly), especially that you would have to keep the contacts file at a place where nearly any app can read it.
If you are feeling ambitious and want to go "serverless", try out DecSync and a compatible android app for contact sync. This represents all your contacts as files on disk in a way that avoids conflicts, and you can use SyncThing to keep your devices in sync 100% peer to peer. Unfortunately on your desktop you'll probably have to use something like radicale on localhost and the plugin to convert it into CardDAV for your regular email client to understand.
Thanks! For databases, I'd prefer not to have to rely on Syncthing. I know it's reliable, but I'd prefer something hooking directly to the android contacts/calendars providers. I'll try something CalDAV/CardDav-based. Still trying to find one that includes a web client as well, to edit the contacts/calendars on the web if I choose to (otherwise I'll be needing to create two URLs, one for the client and another for the server).
Same. Hetzner has a solid business in hosting, they don't make their money from mining my data. They'd hand it over for a lawful request, but the data is not -that- secret and thus possible false accusations aren't really an issue.
I've barely hosted anything and those must have leaked like a sieve. Trusting Hetzner way more.
Thanks! But, from the few times I've tried it...a bit on the heavy side, for my use case. I'm not going to use any of all the other features/integrations.
I export my contacts as a file and copy it to my pc, an external HDD and several cloud providers. Anything I store in the cloud is encrypted with Rclone first. There is a nice client available for Android. I don't pay for cloud storage so I only use the free tiers.
I guess this is only practical if you rarely make changes to your contacts.
I would suggest a baikal server: https://sabre.io/baikal/docker-install/ it's made from.the ones making radicle and sabre, one of the kost used open source caldav/carddav servers. Yes it can sync calendars too
I have a little python script that (among other things) will maintain an address list in a *.csv file on a Windows or Linux PC. It's a Qt app. The documentation does some handwaving about importing/exporting to Android. See: https://lacusveris.com/Tonto2/Docs/en/index.shtml
Many mail providers give you access to CalDAV + CardDAV which have a wide array of mature technology to sync contacts, calendars, todo lists on basically all platforms. If you move away from Protonmail as primary, you would get access to this normal service as well as being able to use IMAP without paying & using some middleman application just to use email. I do not pay for a lot of services, but I get a lot of value out of keeping email + CalDAV + CardDAV off-premise with the cost of €1 per month.
Check out Yunohost. It's a self hosting project built on Debian. It lets you install a bunch of server "apps", including some that will sync contacts for you (Nextcloud, Baikal, My WebDAV).
You can install this on an old computer you have laying around, or on a VPS. Syncing to an Android device you'll need to use DAVx5. Syncing to iOS is actually easier since it has built-in DAV support.
As another solution, you could try Tuta Calendar. It's not self hosted, but is free for one calendar. You will be able to access their WebUI and they have clients you can download too.