-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync problem? #1
Comments
Hello there! As i wrote in the README.md, AUTODISCOVER is quite a sketchy feature. I tried it (like 5 minutes ago) with AUTODISCOVER and AUTOSYNC enabled and everything worked fine. I'm using Apple, Google, Baikal, SOGo (Mailcow) and local storage. But normally i'm not using AUTODISCOVER, i run the command manually once, if i'm adding a new pair, because if you don't change your config, AUTODISCOVER is useless and is only producing overload. This seems like a problem with Vdirsyncer itself, if the discovery fails and you get an error like in your logs So there is most likely some kind of a problem with your configuration. Could you share your configuration with me? Without passwords, usernames and maybe private domains, just delete them from the config. And where does the problem occur? With a Carddav or Caldav pair/storage? |
Well, in that case, I will remove autodiscover. The error happens with sogo. It claims my work calendar is not existing. When I clear everything and resync, all is fine, then next time it happens again. I will post my config below. I have sh#t load of errors with google, but accepts these. Below config is laidout like this:
|
I'm maybe having an idea, why SOGo is not working as expected: You are only having one caldav storage for sogo:
This will only sync your personal calendar in sogo. This would be my SOGo caldav storages:
As you can see the family calendar has a differnt url, you cannot sync everything in your personal calender here. That's why i recommend this way of collection configuration (as an example how mailcow and baikal sync these two calendars):
You see the mailcow/SOGo storage changed, also the collection. For Baikal only the collection changed, storage (and url) are the same (explanation at the end). So for example to sync your calender Arbejde: Next create a new (second) caldav storage with different name, where the url is your new one with the random numbers. And then add a second pair for SOGo like you can see from my configuration. I hope this is not too confusing for you and that you understand what i am trying to say. The only storages where you can use a single url for multiple calendars are:
This is my experience so far. And because of your google problem, i would also know a solution, tried for a few hours to find a working solution, but first of all we should solve your SOGo problem :) PS: I recommend a Card-/Caldav Server like Baikal, Radicale etc. i think this makes it easier in general to sync through multiple companies/services. |
Thanks for your long answer. I will look into changing the structure of my sogo instance. Back to my original question that is regarding sync, that is failing. You run the following command in your script: Regarding your "PS". What would make sync different, using eg baikal, compared to local storeage? |
Something like this If you would run everything separatly it would not be a problem. Maybe i will change that in the future, that the cronjob will execute a scirpt containing multiple commands, but think syncing is not the best options if there are failures in the config anyway. Regarding Baikal: Should i give you an example on how to solve your google problem too? |
Can you solve my google problems???? Then I will be greatefull. It throws a lot of error 403. When I use -vdebug I get logs like this:
Unfortunately, I do not make much sense of this. |
I had exactly the same problem, so maybe my solution can help you too :) Took me literally a whole day to find out with a lot of trial and error^^ So let's start! First of all go to Now this is the point where Baikal comes in. I did it this way, so maybe (just for trying) set up a Baikal server, that we have the same structure. Here is a valid
and a
If you wanna use the Start everything, go to the website and do the setup. When the installer asks for a database, choose Mysql (or was it MariaDB?) fill in the credentials from the mariadb container and everything should work. Log into the Baikal admin interface and then you can create a user. You can't sync with the admin user, so just create one for yourself. Now in the user interface click on calendars besides your user and then Add Calendar. Name it test or whatever. After you have done that go to your SOGo, click on calendars, add a new calendar (name ist test again) and then click on the three dots and import calendar. Here you upload the .ics file you downloaded from your google calendar. Wait till it's done. Last step is to go back to Google Calendar, add a new calendar, go to the settings of this calendar, scroll down a little bit until you find the Calendar-ID. (Looks like that: o6u62a7grj3ehmjl24iltqk2p0@group.calendar.google.com) So know the "funny" part: Set up the test configuration inside you Vdirsyncer config. One for google:
One for Baikal:
And the last one for SOGo:
Now set up the first pair:
You see the pair contains mailcow and baikal, the collection which only contains collection name, the test calendar from baikal and the number from the sogo calendar. Now run So now mailcow/sogo and baikal should have sync their calendars (Containing the original one from google). After that change the The last step is to finally include the google sync. Create a new sync pair like that:
Now run The full test config for Vdirsyncer should look like this:
And the log after the sync should look like this (tested everything for you to get the proof it is working :) )
I know it is quite a lot, but this way worked for me! If this does also work for you, then you have to export every google calendar, delete it, create a new one (do not create any events!) and to the full manual again. Attention: It is not possible to sync your personal google calendar, the one which is called like the e-mail address you used for your google account. If you want a personal calendar, just create a new one, call it personal and turn off the one which is called like your e-mail address! I hope this is helping you too, tell me if not :) |
Thanks for your write-up. - I will go through this during my weekend and revert. |
@Sblop Have you been able to solve your google problems? :) Greetings |
@Bleala For Google cal sync I have been reading your bit several times. If I sum up everything, you export your calendar, start with a clean sync with maybe one event and that works. - This lead me back to my suspicion that my problem is UUID related. I would love if the repair function had a function like --force-change-all-uuid. This would remove all old events and only add the new UUID, however unfortunately this is not implemented and i havent been able to find any tool that can do this online.... Perhaps I need to fine tune my python skills and write a script that can assist. I have been trying to export all events, delete nextcloud, local storage and sogo, and import again from Google, but the total event number of events is not matching up, with a lack of like 1000 events, and I would be sad to lose that much history. Also, I would like that google is NOT in control, but I am from my local storage. It does however seem that google doesn't like that... Maybe it is an implementation error in local storage that causes this error, so I plan to try direct sync between Nextcloud and google, just to try if this solves the problem. Baical might be the solution, however by now I have soo many storages for Google, next, sogo and local, and it is hard to remember everything. I will implement baical if nothing else works, but for now I will continue fiddling around. Edit: You write it is not possible to sync to primary account (username@google.com). I do have issues, but this mostly works. I have the same problem across primary and created calendars alike. |
@Sblop Strange, that your personal Google calendar works, mine did not work, no matter what i did, but Google has kinda strange behavior, don't know why. And if you write a Python script that could help with Greetings and have a nice day :) |
Added POST_SYNC_SCRIPT_FILE env var to support running script after vdirsyncer completes
Hi, Thanks for the updated docker image. This is great!
However I have one small problem. It seels only discovery runs, eventhough I have set the flag to true.
Docker composer:
In the log it confirms the correct piece of the script is running:
Starting Logging...
It runs the discovery, however not the meta or the sync?
After the discovery has run (I will not post the log as this contains personal names etc.) this happens.
Same problem over again...
The error is due to a sync problem with sogo, so I would not expect this to be a problem?
It doesnt seem like this is correct behaviour?
The text was updated successfully, but these errors were encountered: