boredazfcuk / docker-icloudpd

An Alpine Linux container for the iCloud Photos Downloader command line utility
1.58k stars 149 forks source link

Can't initialise #510

Closed DarKOrange75 closed 1 month ago

DarKOrange75 commented 4 months ago

Hello when I run this command on my Sinology NAS:

docker exec -it icloudpd sync-icloud.sh --Initialise

I get these messages:

2024-02-18 21:55:22 INFO boredazfcuk/icloudpd container for icloud_photo_downloader v1.0.718 started 2024-02-18 21:55:22 INFO For support, please go here: https://github.com/boredazfcuk/docker-icloudpd 2024-02-18 21:55:22 INFO Alpine Linux 3.19.0 2024-02-18 21:55:22 INFO Python version: 3.11.6 2024-02-18 21:55:22 INFO Loading configuration from: /config/icloudpd.conf 2024-02-18 21:55:23 INFO Apple ID: xxxxxx 2024-02-18 21:55:23 INFO Authentication Type: MFA 2024-02-18 21:55:23 INFO Cookie path: /config/xxxxxxx 2024-02-18 21:55:23 INFO Cookie expiry notification period: 7 2024-02-18 21:55:23 INFO Download destination directory: /home/icloudpd/iCloud 2024-02-18 21:55:23 INFO Folder structure: {:%Y/%m/%d} 2024-02-18 21:55:23 INFO Synchronisation interval: 86400 2024-02-18 21:55:23 INFO Synchronisation delay (minutes): 0 2024-02-18 21:55:23 INFO Set EXIF date/time: false 2024-02-18 21:55:23 INFO Auto delete: false 2024-02-18 21:55:23 INFO Delete after download: false 2024-02-18 21:55:23 INFO Photo size: original 2024-02-18 21:55:23 INFO Single pass mode: false 2024-02-18 21:55:23 INFO Skip download check: true 2024-02-18 21:55:23 INFO Skip live photos: false 2024-02-18 21:55:23 INFO Number of most recently added photos to download: Download All Photos 2024-02-18 21:55:23 INFO Downloading photos from: Download All Photos 2024-02-18 21:55:23 INFO Stop downloading when prexisiting files count is: Download All Photos 2024-02-18 21:55:23 INFO Live photo size: original 2024-02-18 21:55:23 INFO Skip videos: false 2024-02-18 21:55:23 INFO Convert HEIC to JPEG: false 2024-02-18 21:55:23 INFO Telegram notifications enabled 2024-02-18 21:55:23 INFO Telegram token: xxxxxxxxxx 2024-02-18 21:55:23 INFO Telegram chat id: xxxxxxxx 2024-02-18 21:55:23 INFO Telegram polling: true 2024-02-18 21:55:23 INFO Telegram notification URL: https://api.telegram.org/xxxxxxxxx/sendMessage 2024-02-18 21:55:23 INFO Check Telegram bot initialised...

And then it is stuck...

iCloudpd latest version

Any idea on how to fix this?

Thank you!

boredazfcuk commented 4 months ago

You need to change your Telegram token as I received an e-mail notification which contained your unedited message.

Can you edit your icloudpd.conf file to enable debug logging and restart your container?

DarKOrange75 commented 4 months ago

Ok I’ll do that tonight. Thank you 😊

DarKOrange75 commented 4 months ago

OK I have enabled the debug logging.

2024-02-19 22:41:10 INFO Alpine Linux 3.19.0 2024-02-19 22:41:10 INFO Python version: 3.11.6 2024-02-19 22:41:10 INFO Loading configuration from: /config/icloudpd.conf 2024-02-19 22:41:10 DEBUG Running user id: 0 2024-02-19 22:41:10 DEBUG Running group id: 0 2024-02-19 22:41:10 DEBUG Local user: icloudpd:1029 2024-02-19 22:41:10 DEBUG Local group: dockericloud:65538 2024-02-19 22:41:10 DEBUG Force GID: false 2024-02-19 22:41:10 DEBUG LAN IP Address: 172.17.0.2 2024-02-19 22:41:10 DEBUG Default gateway: 172.17.0.1 2024-02-19 22:41:10 DEBUG DNS server: 192.168.1.254 2024-02-19 22:41:11 DEBUG IP address for icloud.com: 17.253.144.10 2024-02-19 22:41:13 DEBUG Route check to icloud.com successful 2024-02-19 22:41:13 DEBUG Apple ID: (hidden) 2024-02-19 22:41:13 INFO Authentication Type: MFA 2024-02-19 22:41:13 DEBUG Cookie path: /config/(hidden) 2024-02-19 22:41:13 INFO Cookie expiry notification period: 7 2024-02-19 22:41:13 INFO Download destination directory: /home/icloudpd/iCloud 2024-02-19 22:41:13 INFO Folder structure: {:%Y/%m/%d} 2024-02-19 22:41:13 DEBUG Directory permissions: 750 2024-02-19 22:41:13 DEBUG File permissions: 640 2024-02-19 22:41:13 INFO Synchronisation interval: 86400 2024-02-19 22:41:13 INFO Synchronisation delay (minutes): 0 2024-02-19 22:41:13 INFO Set EXIF date/time: false 2024-02-19 22:41:13 INFO Auto delete: false 2024-02-19 22:41:13 INFO Delete after download: false 2024-02-19 22:41:13 INFO Photo size: original 2024-02-19 22:41:13 INFO Single pass mode: false 2024-02-19 22:41:13 INFO Skip download check: true 2024-02-19 22:41:13 INFO Skip live photos: false 2024-02-19 22:41:13 INFO Number of most recently added photos to download: Download All Photos 2024-02-19 22:41:13 INFO Downloading photos from: Download All Photos 2024-02-19 22:41:13 INFO Stop downloading when prexisiting files count is: Download All Photos 2024-02-19 22:41:13 INFO Live photo size: original 2024-02-19 22:41:13 INFO Skip videos: false 2024-02-19 22:41:13 INFO Convert HEIC to JPEG: false 2024-02-19 22:41:13 INFO Telegram notifications enabled 2024-02-19 22:41:13 DEBUG Cleaned notification title: iCloud Photos Backup 2024-02-19 22:41:13 DEBUG Telegram token: (hidden) 2024-02-19 22:41:13 DEBUG Telegram chat id: (hidden) 2024-02-19 22:41:13 DEBUG Telegram polling: true 2024-02-19 22:41:13 DEBUG Telegram notification URL: (hidden) 2024-02-19 22:41:13 INFO Check Telegram bot initialised... 2024-02-19 22:41:26 DEBUG Checking api.telegram.org for updates

boredazfcuk commented 4 months ago
2024-02-19 22:41:11 DEBUG IP address for icloud.com: 17.253.144.10

You container has successfully looked up iCloud.com, so DNS name resolution is working.

2024-02-19 22:41:26 DEBUG Checking api.telegram.org for updates

but it's hanging when connecting to api.telegram.org, meaning that there is a network connectivity issue from your container to the Internet.

DarKOrange75 commented 2 months ago

Thank you @boredazfcuk, I still haven't found any solution. Do you have any idea on how to fix this issue which is preventing the process to move on?

boredazfcuk commented 2 months ago
2024-02-19 22:41:26 DEBUG Checking api.telegram.org for updates

This part of the container uses curl to poll the Telegram server. I've seen issues where UDP connections to DNS servers work, but not TCP ones. I don't know why, maybe a firewall issue on the host server. The curl command will not be able to resolve the name of the destination server unless TCP connections are possible to the DNS server.

2024-02-19 22:41:10 DEBUG Default gateway: 172.17.0.1
2024-02-19 22:41:10 DEBUG DNS server: 192.168.1.254

Your DNS server is external, so it's possible that TCP packets are bing blocked somewhere along the path.

Personally I'd suggest removing the external DNS server and letting the Docker use its internal DNS mechanism, which should set the DNS server to be 127.0.0.11 inside the container. DNS lookups are then performed on the host and results passed to the container.

boredazfcuk commented 1 month ago

Closing as stale

DarKOrange75 commented 1 month ago

Sorry I just gave up. Thank you for your help though.