Nextcloud is amazing
Notes on the ups and downs of self-hosting Nextcloud.
I have to say, Nextcloud is much better than I expected.
Deployment was easy since Fedora packages Nextcloud almost practically ready to use. Install MariaDB and Nextcloud per the Fedora instructions, then run a single command to install the database. You have to add the hostname of the machine (or your chosen canonical name) to config.php
's trusted_domains
setting before you can visit the setup wizard.
I did fight with the default Apache config for Nextcloud not pointing Apache to the correct FPM when I used rewrite to mount Nextcloud at the root of the HTTP server. Apache has changed a lot — long gone are the days of mod_php
(frankly, FPM modules are easier to configure per app!) and so my ancient knowledge knowledgeable was useless. Basically I had to rewrite what Nextcloud's .htaccess
generation command would normally do for me (I cannot use it in my setup).
Then I configured the outbound e-mail server for calendaring notifications. After creating an account exclusively for my Nextcloud instance on my mail server, setup worked immediately. One thing the setup doesn't let you know until you try to send a test e-mail: you must add an e-mail address to the admin account where the test e-mail will be sent; I was shown this on an error message onscreen.
Calendaring works incredibly well, and so do contacts. Within 30 minutes I had:
- Exported all my Google calendar and contact data.
- Imported it all into my personal account on Nextcloud.
- Setup DAV-based calendars and contacts on Evolution, Thunderbird and Etar (via DavX5).
The last thing I did regarding that was test that adding attendees to appointments sends e-mail that can be interpreted as invites at least by Gmail. Acceptance e-mails sent back by Gmail were seen by Thunderbird as meeting updates I could import with one click, flawlessly. Sadly, Etar does not handle these correctly, preferring to create a totally new event (which sends yet another batch of invites); I will have to try Tibor Kaputa's Simple Calendar app. There's one final issue which involves Thunderbird not (coaxing Nextcloud into) sending RSVP e-mails to the organizer when an incoming calendar event is added to a Nextcloud calendar — but changing the RSVP status from Thunderbird after the event is added works fine to update the RSVP status for the organizer. Finally, changing RSVP status on events in the Nextcloud Web calendar never sends RSVP status updates back to the organizer. So this calendaring thing is not usable for groups that rely on heterogeneous technologies (perhaps it works between two people using the same server — I don't know).
The final thing I tried was the News app for both Nextcloud web and Nextcloud Android. I'm happy to say that, yes, all my OPML subscriptions were imported (though those subscriptions emitting invalid XML did not work, which to The Old Reader's credit they were tolerant about). The phone app works flawlessly, is elegant and readable, and syncs very well.
That's two cloud services I ditched in less than four hours' work!
I've packaged the initial setup of Nextcloud up in this SaltStack formula. I hope it's useful for you.