Skip to content

Use vDirSyncer (dockerized) to copy events between calendars. Filter and modify events, ping to healthchecks.io

License

Notifications You must be signed in to change notification settings

chrisblech/vcalcopy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vcalcopy

Use vDirSyncer (dockerized) to copy events between calendars. Filter and modify events, ping to healthchecks.io

Features

  • Copy events from (one or more) Source calendar (ical-Feed, i.e. Google calendar) to Destination Calendar (vCal, i.e. mailbox.org)

  • Filter events, i.e. copy only events starting from last week (this also respects ongoing recurring events)

  • Modify events depending on Source calendar, i.e. extend start/end time (so your availibility in Destination calendar will also reflect wour way to/from work)

  • Removes Organizator and Attendees from events (so mailbox.org will not send bogus declinement mails)

  • After every sync job finished, its result and log can be sent to a healthchecks.io instance for monitoring

Installation

  1. Use provided docker-compose.yml, but comment out entrypoint: line

  2. Execute Bash in the running container, and copy all files from /vdirsyncer in this repo, to /vdirsyncer in the container.

  3. Edit config file and set your individual paths, URLs, Credentials.
    You can even add more Source calendars if you want to.

  4. Create all paths you have set in filesystem-storage definitions

  5. Make all scripts executable: chmod +x *.sh *.py

  6. Remove # from entrypoint: line to activate it, and restart deployment

  7. Initialize Sync via vdirsyncer discover

  8. Start first sync manually via vdirsyncer metasync && vdirsyncer sync. This will fetch all Events from Source calender, store them in the container's filesystem, process all (new/modified) Events via posthook-Script and stores resulting (filtered/modified) Events in upstream dir. At this moment, we have not yet tried to upload them to the Destination calendar!
    If errors occured, the IDs are listed in /vdirsyncer/posthook.err file.

  9. Start a second manual sync via vdirsyncer sync. Now, all events from upstream dir should be uploaded to Destination calendar.

  10. If everything went fine, enable autosync by rm /vdirsyncer/disablecron

About

Use vDirSyncer (dockerized) to copy events between calendars. Filter and modify events, ping to healthchecks.io

Resources

License

Stars

Watchers

Forks