Skip to main content

Nextcloud Calendar

Know what's on your schedule.

Written by Ryan Kulp

Connecting your Nextcloud Calendar to TRMNL takes just a few seconds.

Step 1 - Visit the Nextcloud Calendar Plugin

Inside TRMNL, navigate to Plugins > Nextcloud Calendar.

Step 2 - Connect Nextcloud Calendar

Note: There are three ways to connect. Option A keeps your calendar private, and it is the one we recommend. Option B publishes your calendar to an anonymized "ICS" style format. Option C uses the TRMNL Companion iOS App.

Option A

In Nextcloud, open Personal settings, then Security, then Devices & sessions. Create a new app password named "TRMNL" and copy it.

In the Calendar app, open the three-dot menu next to your calendar and copy its private link. It looks like https://cloud.your-domain.com/remote.php/dav/calendars/USERNAME/personal/

Put your login and the app password in front of the server name, and add ?export to the end: https://LOGIN:APP-PASSWORD@cloud.your-domain.com/remote.php/dav/calendars/USERNAME/personal/?export

LOGIN is what you type to sign in to Nextcloud. If that is an email address, type it as it is. This is the step people get wrong most often, so copy the app password exactly.

TRMNL stores this field encrypted and sends the app password only to your Nextcloud server. To cut TRMNL off, revoke the app password on the same Security page.

Option B

This approach is similar to publishing an unlisted YouTube video or "view with link" permission Google Docs file. If your calendar has sensitive data you may limit the published permissions to only expose timestamps, not event details.

Inside your Nextcloud Calendar, open the share menu and click the "+" next to the "Share link" option (source). Copy this URL to your clipboard.

Option C

Download and install the TRMNL Companion iOS App to your phone or iPad, then move ahead to Step 3.

Step 3 - Configure Plugin

Back inside TRMNL, paste your calendar link into the ICS input field. Your full URL should begin with "https". You can attempt to visit it in your web browser -- it should download an ".ics" file to your computer which you can safely delete.

Next you may set a few preferences.

Time Format

24 hours vs 12 hour (AM/PM) style.

Include Description

If "Yes," a truncated preview of the event's description field will be shown beneath the event title. Note that on the "default" Layout (explained below), setting this option to "No" will ~double the number of events shown thanks to saved space.

First Day of Week

Applies only to the "month" view. Tis allows you to set which day of the week is represented by the first column, furthest to the left. Defaults to Sunday.

Ignored Phrases

Supports a list of words that will be used to ignore events based on title or description content.

Layout

  • Default (upcoming events for today, tomorrow, next day)

  • Week (5-7 days upcoming)

  • Month (this calendar month)

Note that only "Week" and "Month" layouts support multi-day events, but every layout supports all-day events.

Example - Week layout with multi-day event ("Michael OOO")

Example - Default layout with all-day event ("Michael OOO")

Example - Month layout with multi-day event:

Step 4 - You're Done!

Based on your device's refresh settings, you'll begin seeing Nextcloud Calendar events very soon.

Note: while we fetch data according to your refresh interval, TRMNL only generates new screen renders if the data fetched contains changes. Thus setting your layout to "Default" (which shows 2-3 days) but updating an event 4+ days in the future will not trigger a screen refresh.

Stay focused.

Troubleshooting

The plugin reports HTTP 401.
Nextcloud did not accept the login in your private link. Check the login and the app password, and that the app password was not revoked.

The plugin reports a blocked address.
Your Nextcloud server is only reachable inside your home network. TRMNL fetches your calendar from the internet, so the server must be reachable from outside it.

Related

Did this answer your question?