Self-hosted · Google Calendar → ICS

Your Google calendars, bridged to your homelab.

cloudcal-bridge is a small self-hosted utility that connects to Google Calendar with read-only OAuth access and exposes only the calendars you choose as private ICS subscription URLs. It is designed for personal homelab use, including subscribing to Google calendars from Nextcloud.

Read-only

Minimum Calendar access

cloudcal-bridge asks Google for your verified email address, your calendar list, and calendar events. Calendar permissions are read-only: the app does not create, edit, or delete Google Calendar events.

Private feeds

You choose what to expose

After signing in, you select which calendars receive a private UUID-based ICS URL. The URL is a bearer secret and can be revoked from the management page at any time.

Homelab first

Runs on your infrastructure

The service is intended to run in a personal homelab. Account credentials, Google OAuth tokens, calendar identifiers, and feed secrets are stored in the deployment's local SQLite database with application-level encryption for sensitive fields.

How it works

From Google Calendar to an ICS subscription

  1. Authorize Google. Sign in with Google and grant the read-only permissions shown on Google's consent screen.
  2. Select a calendar. cloudcal-bridge lists calendars available to your account so you can create a feed only for the ones you want.
  3. Subscribe from your homelab. Add the generated private ICS URL to Nextcloud or another compatible calendar client.
  4. Revoke when needed. If a feed URL is exposed or no longer needed, revoke it and create a new one.

Google data disclosure

Why cloudcal-bridge requests Google data

The app uses your Google identity only to associate the connection with your account. It uses Google Calendar data only to list calendars you can access and to generate the private ICS feeds you explicitly create. Calendar event data can include event titles, descriptions, locations, dates, times, status, and related calendar metadata because those fields are needed to produce a useful calendar subscription.

cloudcal-bridge does not sell Google user data, use it for advertising, or use it to build advertising profiles. See the Privacy Policy for the complete data-handling disclosure and the Terms of Use for conditions of use.