Hello everybody,
my plan is to switch from Android to GrapheneOS. In this process, I want to get rid of my reliance on my google account as much as possible.
To this end, I’d like to selfhost some “critical” data, e.g.
- contacts
- calendar
- online drive for files (e.g. google drive alternative)
- some basic note-taking app (like google keep)
and so on.
I do some selfhosting already, though it is not that kind of “cannot lose this” data. So I’d like to share my thoughts and ask for your opinions and experience for the process.
More details for what I want
contacts
- have to be syncable to the phone
- if possible, some webinterface to edit / browse
calendar
- has to be syncable to the phone
- webinterface + sync to desktop / phone
- if possible, send invite-links to events to others
drive
- files of my choosing must be offline-available
- ever other file should not use storage on the phone
- if possible, able to share links to download files
- if possible, able to share links to view with online editor (see below)
document editor
- think google sheets / google docs
- if possible, able to share links to view documents online
smartphone photos
- auto-backup camera folder
There may be some things I’m not thinking about right now, but this seems to pretty much be it.
If possible, all of this should be accessible only via vpn.
What I already have
I have a pfSense physical appliance that’s already managing my home network, got an OpenVPN already setup, dynamic DNS working properly for the lack of a static IP, etc.
I own 2 mini-PCs (some Intel NUC, some passive-cooled zotac with an intel with 4c/8t). One of them (zotac) is currently running as my Proxmox Virtual Environment Hypervisor, managing 3 VMs.
I also have a second PC which misses some critical parts, so it is not currently in working condition. I think there’s an AM4 mainboard and 16 or 32GB of DDR4 RAM in there. I could make a NAS or a new hypervisor out of this, but the case (Fractal Design Define 7) is quite big and a full PC is probably worse for energy-efficiency than my 2 mini-PCs and is going to be more expensive.
Not much in terms of storage sadly
- 1x 6TB external USB HDD (used for backups)
- 1x 2TB external USB HDD (used for data)
What I plan to do
The kind of data I’m going to be hosting myself now is very import, so it cannot be lost or corrupted.
But the feature list doesn’t seem to be overly complicated. This seems like something nextcloud could do.
This means, I will probably need to buy
- 2x 4 TB HDD for storage for data RAID
- 2x 8-10 TB HDD for backups
- 2x external RAID case
Then I could connect the data RAID to the already running zotac pc and spin up new VMs for nextcloud and whatever else I might need and start serving my data from home.
The Intel NUC will be used as a Proxmox Backup Server, connected to the backup RAID. Keeping some daily, weekly and monthly backups.
On the phone-side, I’d have the vpn always active. Whenever active, sync of contacts, calendar entries, photos etc. should be possible.
Questions
Is there anything I missed? Did any of you already try something like that? Does anybody here see a potential problem with any of the above?
Can anyone recommend a RAID-1 external enclosure without a fan and some quiet and energy-efficient HDDs?
Oh, it’s nice to hear somebody already did that, thank you!
Did you have any hiccups or general problems with nextcloud or calendar/contacts/photos sync? Did you do any specific thing to harden security, other than using
ufw
,fail2ban
and changingsshd
config?Haven’t had any issues whatsoever.
I’ve done nothing special regarding security and have it exposed to the public internet. I intend on having fail2ban look at its logs but I’ve not yet set that up (entirely out of laziness).
If you want to be very secure I would recommend having it entirely behind a VPN. I personally use tailscale+headscale for my internal only services but like I said I have Nextcloud publicly exposed as I want to be able to access it from potentially any device.
That sounds kinda dangerous. I remember years ago, when I rented my first vcloud-server, within the first 10 minutes I had bots trying to get in via SSH. I’d be way too paranoid.
Yes, that’s my plan. I intend to create a new OpenVPN server on my pfSense with access only to the nextcloud VM. This would also allow me to share the vpn config files with my friends without a password, as the authentication is done by inline-cert vpn config.
Nextcloud does have a problem with the online editor. It frequently bugs out and moves things out of order or just doesn’t feel snappy.
Some time ago there was also saving issues
I only sync my computer and I have nothing to report. It just works. There’s just a small bug when you just create a file on windows and start editing it, the file shows as being edited by Nextcloud for a couple of seconds, but then it works. It’s just on the initial creation.
Are the documents you edit with the online editor files which are visible in the online drive? Does nextcloud use the open document specifications for saving documents (e.g. .odt, .ods)? Can you view these files without opening them in the editor (like the preview in google drive)?
If so, that is acceptable. The document thing is more for completion, I don’t handle documents all too often. And if the online editor is bad or not working but the files are visible and offline-syncable in the drive to some desktop client and they are using the open document format, I can edit them with libreoffice.
Thanks for the heads-up!
There is a somewhat native file editor in nextcloud but for your needs I would recommend setting up integration with either OnlyOffice or Collabora (LibreOffice). I am currently using OnlyOffice and while my utilization isn’t much or often it seems to do what it should without any fuss.
Thanks for the tipp!
I’ll definitely try the native file editor and collabora, just to see how they compare for me. I even found a tutorial by nextcloud on how to integrate collabora (see this post)
Are the documents you edit with the online editor files which are visible in the online drive?: Yes. It works like Google drive basically, and yea, I don’t use an external editor or something. I just create or upload a file to the cloud, and edit it there using the built in web editor (you just open the file and it opens the editor)
Does nextcloud use the open document specifications for saving documents (e.g. .odt, .ods)?: Yes. I believe they use a modified version of Collabora or something. By default, you use the same extensions you’d use with libre software like collabora or libreoffice. It supports opening documents from word, PowerPoint and excel… but often fucks up the formatting in some parts (much like libreoffice)
Can you view these files without opening them in the editor (like the preview in google drive)?: No. You view them only via the editor. It should respect permissions though, so if you share a file with read access only, they won’t be able to edit it in the editor.
You can use any format you want in Nextcloud, it’s just that they might not be supported by their built in editors, but they’ll work fine.
The reason I use the built in editors is that multiple people can work on a single file at the same time
You’re welcome!
Thank you for answering!
Good to know that most things I would need seem to be already working nicely in nextcloud :)
I’ll definitely have to try that before trying to send out links.
Sure! I always try this
A small downside: you can’t seem to restrict people commenting on a file you shared. There’s a built in “discuss about this file” feature but it shouldn’t really be a problem, unless you intend on sharing a file to a looot of people, because afaik you can’t moderate it
Yea, I recommend you always test features to see how they work and what they imply (and if they’re bugged, because Nextcloud often updates and sometimes breaks small things)
That’s okay. My circle of friends I’d share files with is not all too big. So everything stays between a few people anyway.
Does breaking stuff happen often? I plan to use the docker image nextcloud:stable-fpm in the hopes of bypassing some bugged releases.