this post was submitted on 28 Nov 2023
64 points (98.5% liked)

Selfhosted

40198 readers
736 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

I'm trying to de-Google my life and self-host more. One tricky point with me is calendaring. I can get a CalDav server running and syncing with my Android phone without much hassle, but I haven't yet found a server or client that can send e-mail reminders for events, rather than just pop-up notifications.

I've been told to try Nextcloud. I tried installing it but it's overkill for me, and I don't want to deal with setting up a domain. Surely there can't be exactly one CalDav option that can send email reminders. But I've never heard anyone say anything other than "Nextcloud."

top 42 comments
sorted by: hot top controversial new old
[–] [email protected] 20 points 11 months ago (1 children)

I know you said “no nextcloud”, but I often see posts from people who say nextcloud was overkill for them, but they don’t realise that almost every component of nextcloud can be uninstalled if you don’t want it. It can be pretty barebones if you want it to be.

I don’t see how you’re going to get away from the domain requirement, though, unless you’re just going to connect to your raw IP address? (And if you are, I didn’t think that nextcloud required a domain?)

Sorry I can’t be more helpful with a different solution, but hopefully someone out there knows of something that would suit your needs.

[–] [email protected] 3 points 11 months ago (2 children)

My raw IP wouldn't help, my ISP has me behind CGNAT. I can set up a CalDav server and sync it with Tailscale, but can't do that for Nextcloud.

[–] [email protected] 5 points 11 months ago (1 children)

You can bypass CGNAT easily. Look here. I sync contacts, calender, tasks, everything from Nextcloud.

[–] [email protected] 2 points 11 months ago

I will look into that, thank you.

[–] [email protected] 5 points 11 months ago (2 children)

Why can't you sync NC over Tailscale?

[–] [email protected] 2 points 11 months ago (1 children)

Their AIO container straight up fails to work if you don't have a public ipv4 address and ports open to the world, it's bizarre.

Luckily the LSIO nextcloud container should work properly.

[–] [email protected] 1 points 11 months ago

Interesting, the one time I tried Nextcloud I was using the AIO version, maybe it'll be slightly less onerous to use the other one. I may give that a shot. Thank you!

[–] [email protected] 1 points 11 months ago (2 children)

Well I may be missing something about how Nextcloud works because I never really fully got it set up. Once I got Nextcloud set up on my domain, how would I go about getting my domain pointed to a Tailscale address?

[–] [email protected] 5 points 11 months ago* (last edited 11 months ago)

You don't need to get it set up with your domain. All you need is the IP address of the machine it's running on; either local or Tailscale address. Just type it into the browser URL bar. I.e. http://192.168.0.1:8080/ is a valid URL.

Now, obviously you'd want to have the ability to do things like type a human readable domain name and have SSL certificates but they're not technically necessary. Until I found the time to set up my reverse proxy, I used my Paperless using a bookmark to the IP address and port.

Pointing your domain at a Tailscale address is pretty simple, you just need to add an A record wherever your domain's DNS zone is configured which points at the IP address (e.g. 100.107.42.69).

[–] [email protected] 3 points 11 months ago (1 children)

Personally I run Pi-hole as a DNS server, and add the domain as a custom DNS entry. Then in the Tailscale settings, you can set the DNS server (there is a Tailscale help page for setting up Pi-hole with Tailscale).

[–] [email protected] 2 points 11 months ago (1 children)

Oh, isn't that interesting. I already run a Pi-Hole but I had never thought of doing that with a custom entry. I suppose that would work, wouldn't it?

I really dislike that everything in this thread is pushing towards Nextcloud after all. It seems like it should be easier to get email reminders. It should really be somewhere in-between "use Google" and "run Nextcloud and buy a domain name and use a custom piece of hardware to run your own DNS server to which you have to add even more customizations to be able to run and sync the Nextcloud suite, most of which you'll never use."

[–] [email protected] 3 points 11 months ago

I'd guess it's not that the solution doesn't exist, but that Nextcloud is one of the most popular self-hosted service. since so many people are already using it, it's all they know of.

[–] [email protected] 15 points 11 months ago (3 children)
[–] [email protected] 3 points 11 months ago

I was about to mention that ;-) Whenever I find myself looking for software in an area where I don't know any of the "competitors", I'll look for the awesome-* lists. At the very least they are always a good starting point.

[–] [email protected] 2 points 11 months ago

Oh that rules! Thanks for sharing that

[–] [email protected] 1 points 11 months ago

Yeah, I've tried most of the servers listed there. None of the servers have email functionality (beyond invitations). I haven't found a client that does either. I understand that Thunderbird used to have it, but doesn't any more. Strange that an email application can't email. Hahahaha.

[–] [email protected] 7 points 11 months ago (1 children)

Try Baikal, it's a pretty lightweight CalDAV server!

Any client I use it with supports notifications, however it should also be able to send emails for you (e.g. Its scheduling feature).

[–] [email protected] 5 points 11 months ago (2 children)

I had Baikal running for a while, there's no notifications on the server side.

Scheduling is not the same as event notifications. At that link you provided, that refers to sending email invitations to participants in an event. Those get sent immediately at the event's creation, it's kind of an RSVP system.

I need a client that can send an email at a specified time before the event starts.

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago) (1 children)

You are right. I've some experience with tweaking Baikal's code, maybe you can implement that notifications feature yourself? The code isn't perfect and could be simplified... but it doesn't seem very hard to implement what you're looking for given their architecture.

[–] [email protected] 1 points 11 months ago

Any coding is well above my skill level. Thank you, though.

[–] [email protected] 2 points 11 months ago (1 children)

Oh if you mean event notifications check out Calengoo. It has versions for all major platforms.

[–] [email protected] 1 points 11 months ago

I may have to try that one. Just looking on the website, it doesn't explicitly say there's the possibility of emailed event reminders, but it does say that there's an integrated client so it seems like there's a possibility. Thank you!

[–] [email protected] 7 points 11 months ago* (last edited 11 months ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
CGNAT Carrier-Grade NAT
DNS Domain Name Service/System
IP Internet Protocol
NAT Network Address Translation
SMTP Simple Mail Transfer Protocol
SSL Secure Sockets Layer, for transparent encryption

5 acronyms in this thread; the most compressed thread commented on today has 5 acronyms.

[Thread #307 for this sub, first seen 28th Nov 2023, 07:25] [FAQ] [Full list] [Contact] [Source code]

[–] [email protected] 4 points 11 months ago* (last edited 11 months ago) (1 children)

You could set up NodeRed and make your own notification flow with a caldav/iCal input and a email or chat service output.

[–] [email protected] 2 points 11 months ago (1 children)

It looks like I'm gonna call that my "second to last resort." I'm not a programmer or developer of any kind, and that looks pretty intense for me.

[–] [email protected] 2 points 11 months ago

It uses "visual programming" so it is actually quite easy to do (as long as you use the pre-made modules) even without any prior knowledge. And once you set that up you will likely find many other neat ways to use it 😊

[–] [email protected] 3 points 11 months ago (1 children)

I use SoGo for that.

Cal and task sync. Card dav, Email und calendar in one neat web interface

[–] [email protected] 2 points 11 months ago

This looks quite promising, thank you! I'll be trying that.

[–] [email protected] 3 points 11 months ago (1 children)

Nextcloud is definitely overkill if you're just after a calendar / reminder.

I ditched Nextcloud and went for radicale, but I've not looked into sending emails as reminders (I want less emails not more)

Is this for adhoc events like "visit the dentist", or are you trying to automate a regular event like "put out the recycling"?

The latter could be done with cron and sendmail for example

[–] [email protected] 2 points 11 months ago

Yeah, the email reminders I'd like would be for both types of events (one-offs and recurring ones). And although it would work, I guess, I'm not crawling around in crontab every time I need to add something to my schedule.

[–] [email protected] 3 points 11 months ago (1 children)

After a lot of alternatives I'm just using Google calendar again, nothing else so far works as easily and syncs everything to my devices properly.

[–] [email protected] 2 points 11 months ago

If I ever come up with something, I'll let you know.

[–] [email protected] 3 points 11 months ago (1 children)
[–] [email protected] 2 points 11 months ago (1 children)

I checked out the documentation for that, I can't find in there anywhere anything about e-mail reminders for events. Additionally, it looks like setting up recurring events (like monthly bills or repeated appointments) isn't possible. It seems more like a business booking solution than a personal calendaring thing. Thank you though!

[–] [email protected] 2 points 11 months ago

Sorry I was remembering wrong

[–] [email protected] 2 points 11 months ago (2 children)

Sending emails is too old, and requires a full online app to send you the reminder. Only google or other big corps support this because a bounced email is retried many hours later... Heck, just the sending might suppose delays. The current calendar solutions give push notifications to clients (e.g. PC or phone)

[–] [email protected] 9 points 11 months ago

There's no better solution to a problem than, "your problem is wrong."

[–] [email protected] 1 points 11 months ago

Counterpoint: if you system is configured such that the mere act of trying to send an email results in serious delays and regular bounces, you're doing email wrong. Even push notifications may require third party routing through Google, Apple, or similar to get to the core OS in some cases.

Yes, I recognize that hosting an SMTP server is difficult these days and can't always be done at home due to IP restrictions. But that doesn't mean you have to have an email server at home. I have a third party email on my domain and I can dispatch SMTP which arrives at expected non-delayed times even to Google and Microsoft accounts.

I honestly wish more software would simply speak to an SMTP server of choice rather than defaulting to just hitting the CLI mail send or attempting a direct SMTP connection.

[–] [email protected] 2 points 11 months ago

If you don't find anything, I suggest you go the automation route with Active Pieces or N8N

[–] [email protected] 1 points 11 months ago (1 children)
[–] [email protected] 0 points 11 months ago

Unless I'm missing something, there doesn't seem to be any functionality for email reminders either on the server side or client side for them. I tried Etesync once, although it has been a bit.

[–] [email protected] -1 points 11 months ago

No idea how CalDav runs, but if it's a server, it should be able to run generic scripts, no? Once you are running a generic script, writing one that sends emails though smtp should be possible. Idk.