mandarons / icloud-docker

Dockerized iCloud Client - make a local copy of your iCloud documents and photos, and keep it automatically up-to-date.
BSD 3-Clause "New" or "Revised" License
1.15k stars 49 forks source link

[BUG] #169

Closed Fishairman90 closed 1 year ago

Fishairman90 commented 1 year ago

Im installing via Unraid. Ive installed, adding my iCloud email to the config. Setup the paths. When it boots, the container acts like it boots right up. Can't seem to connect to the container or view the logs. Seems to be boot looping?

Screenshot 2023-11-01 at 9 28 23 PM Screenshot 2023-11-01 at 9 27 56 PM
Fishairman90 commented 1 year ago

Hey thanks for the quick reply, usually with Unraid when installing a container if I don’t specify it just downloads the latest. So im 90% it’s the latest? Can’t seem to find the version number anywhere.

When I stopped the container I was able to see the logs. Looks like the .config is full of parser errors. Which is weird because I downloaded the example .config and the only thing I changed was my email. Even line 1 “app:” it has an issue with..

On Nov 1, 2023, at 10:09 PM, Mandar Patil @.***> wrote:

Which version are you using?

— Reply to this email directly, view it on GitHub https://github.com/mandarons/icloud-drive-docker/issues/169#issuecomment-1789948513, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANVO6FW6GC4HMINJFVTS5BLYCL6FZAVCNFSM6AAAAAA62EUZZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBZHE2DQNJRGM. You are receiving this because you authored the thread.

mandarons commented 1 year ago

Please share your config file.

Fishairman90 commented 1 year ago

I attached it to the last email? Did it not come through?Justin Peeples First Officer | PSA AirlinesGold Seal Flight Instructor | CFII | IGI1(813)853-4761On Nov 2, 2023, at 10:32, Mandar Patil @.***> wrote: Please share your config file.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

mandarons commented 1 year ago

No.

Fishairman90 commented 1 year ago

Guess it doesn't come through when you reply via email. Let's try this.

config.txt

mandarons commented 1 year ago

Yeah, it has a lot of garbage characters. Not sure what happened there. Try manually creating config.yaml and pasting the content without any garbage characters.

image

Fishairman90 commented 1 year ago

OMG what is GitHub doing!? Thats not what my .config looks like. It won't let me upload a .yaml and So I pasted it in a txt file.. This is what my config looks like:

https://pastebin.com/84s0hjQy

mandarons commented 1 year ago

Try removing/updating -

  1. drive > filters > folders list
  2. drive > filters > file_extensions list
  3. photos > filters > albums list

The default values most likely not the ones that you want. Also, this reminds me to make the config.yaml copy-paste friendly.

Fishairman90 commented 1 year ago

Not completely following. Are you saying I can comment everything except the “App” section?

On Nov 2, 2023, at 11:16 AM, Mandar Patil @.***> wrote:

Try removing/updating -

drive > filters > folders list drive > filters > file_extensions list photos > filters > albums list The default values most likely not the ones that you want. Also, this reminds me to make the config.yaml copy-paste friendly.

— Reply to this email directly, view it on GitHub https://github.com/mandarons/icloud-drive-docker/issues/169#issuecomment-1790935268, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANVO6FTQXLUNFG6SUNDPMU3YCO2LFAVCNFSM6AAAAAA62EUZZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJQHEZTKMRWHA. You are receiving this because you authored the thread.

mandarons commented 1 year ago

Try below config.yaml:

app:
  logger:
    # level - debug, info (default), warning or error
    level: "info"
    # log filename icloud.log (default)
    filename: "icloud.log"
  credentials:
    # iCloud drive username
    username: “justin.peeples@icloud.com”
    # Retry login interval - default is 10 minutes
    retry_login_interval: 600
  # Drive destination
  root: "icloud"
  smtp:
  # If you want to receive email notifications about expired/missing 2FA credentials then uncomment
  # email: "sender@test.com"
  # Uncomment this if your SMTP username is different than your sender address (for services like AWS SES)
  # username: ""
  # default to is same as email above
  # to: "receiver@test.com"
  # password:
  # host: "smtp.test.com"
  # port: 587
  # If your email provider doesn't handle TLS
  # no_tls: true
  # valid values are - global (default - uses .com) or china (uses .com.cn)
  region: global
drive:
  destination: "drive"
  remove_obsolete: false
  sync_interval: 300
  filters:
    # File filters to be included in syncing iCloud drive content
    folders:
    file_extensions:
      # File extensions to be included
photos:
  destination: "photos"
  remove_obsolete: false
  sync_interval: 500
  all_albums: false # Optional, default false. If true preserve album structure. If same photo is in multiple albums creates duplicates on filesystem
  # folder_format: "%Y/%m" # optional, if set put photos in subfolders according to format. Format cheatsheet - https://strftime.org
  filters:
    # List of libraries to download. If omitted (default), photos from all libraries (own and shared) are downloaded. If included, photos only
    # from the listed libraries are downloaded.
    # libraries:
    #   - PrimarySync # Name of the own library

    # if all_albums is false - albums list is used as filter-in, if all_albums is true - albums list is used as filter-out
    # if albums list is empty and all_albums is false download all photos to "all" folder. if empty and all_albums is true download all folders
    albums:
    file_sizes:
      # valid values are original, medium and/or thumb
      - "original"
      # - "medium"
      # - "thumb"
Fishairman90 commented 1 year ago

Nice that boots and I can’t connect to the console..

No im trying to run this command icloud --username= --session-directory=/app/session_data

Gives me this:

/app # icloud --username= --session-directory=/app/session_data usage: icloud [-h] [--username USERNAME] [--password PASSWORD] [-n] [--delete-from-keyring] [--list] [--llist] [--locate] [--device DEVICE_ID] [--sound] [--message MESSAGE] [--silentmessage SILENTMESSAGE] [--lostmode] [--lostphone LOST_PHONE] [--lostpassword LOST_PASSWORD] [--lostmessage LOST_MESSAGE] [--outputfile] [--session-directory SESSION_DIRECTORY] [--region REGION] icloud: error: No username supplied /app #

So I thought, im big dumb let me try this:

iCloud @.***= --session-directory=/app/session_data

That doesn’t work either lol. Guess this is above my head.

On Nov 2, 2023, at 11:29 AM, Mandar Patil @.***> wrote:

Try below config.yaml:

app: logger:

level - debug, info (default), warning or error

level: "info"
# log filename icloud.log (default)
filename: "icloud.log"

credentials:

iCloud drive username

username: ***@***.***”
# Retry login interval - default is 10 minutes
retry_login_interval: 600

Drive destination

root: "icloud" smtp:

If you want to receive email notifications about expired/missing 2FA credentials then uncomment

email: @.***"

Uncomment this if your SMTP username is different than your sender address (for services like AWS SES)

username: ""

default to is same as email above

to: @.***"

password:

host: "smtp.test.com"

port: 587

If your email provider doesn't handle TLS

no_tls: true

valid values are - global (default - uses .com) or china (uses .com.cn)

region: global drive: destination: "drive" remove_obsolete: false sync_interval: 300 filters:

File filters to be included in syncing iCloud drive content

folders:
file_extensions:
  # File extensions to be included

photos: destination: "photos" remove_obsolete: false sync_interval: 500 all_albums: false # Optional, default false. If true preserve album structure. If same photo is in multiple albums creates duplicates on filesystem

folder_format: "%Y/%m" # optional, if set put photos in subfolders according to format. Format cheatsheet - https://strftime.org

filters:

List of libraries to download. If omitted (default), photos from all libraries (own and shared) are downloaded. If included, photos only

# from the listed libraries are downloaded.
# libraries:
#   - PrimarySync # Name of the own library

# if all_albums is false - albums list is used as filter-in, if all_albums is true - albums list is used as filter-out
# if albums list is empty and all_albums is false download all photos to "all" folder. if empty and all_albums is true download all folders
albums:
file_sizes:
  # valid values are original, medium and/or thumb
  - "original"
  # - "medium"
  # - "thumb"

— Reply to this email directly, view it on GitHub https://github.com/mandarons/icloud-drive-docker/issues/169#issuecomment-1790959936, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANVO6FXOKKUXSY3QZXLY3X3YCO343AVCNFSM6AAAAAA62EUZZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJQHE2TSOJTGY. You are receiving this because you authored the thread.

mandarons commented 1 year ago

Try this command:

icloud --username=justin.peeples@icloud.com --session-directory=/app/session_data

Fishairman90 commented 1 year ago

That did it.. Guess you’re realizing your instructions have to be idiot proof for people like me lol.

Signed in now thanks!

I assume with by not adding any filters to the .config ALL photos/files will be downloaded. Any way to see a percentage done or last time it synced or anything?

On Nov 2, 2023, at 11:43 AM, Mandar Patil @.***> wrote:

Try this command:

icloud @. @.> --session-directory=/app/session_data

— Reply to this email directly, view it on GitHub https://github.com/mandarons/icloud-drive-docker/issues/169#issuecomment-1790985607, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANVO6FT6S6UXPNDQVB4MG2TYCO5SBAVCNFSM6AAAAAA62EUZZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJQHE4DKNRQG4. You are receiving this because you authored the thread.

mandarons commented 1 year ago

If you have any suggestions on how to make the instructions idiot-proof, feel free to submit a PR.

Yes - without any filters, it will download everything.

There is no way to see % complete as the app doesn't know in advance how much is there to download. For last time it synced, you can look at logs once it is complete downloading for the first time.

Fishairman90 commented 1 year ago

Well thought I was in the green:

2023-11-02 11:42:28,533 :: ERROR :: root :: sync.py :: 108 :: Password is not stored in keyring. Please save the password in keyring. 2023-11-02 11:42:28,533 :: INFO :: root :: config_parser.py :: 65 :: Retrying login every 600 seconds. 2023-11-02 11:42:28,533 :: INFO :: root :: sync.py :: 115 :: Retrying login at Thu Nov 2 11:52:28 2023 ... 2023-11-02 11:42:28,533 :: WARNING :: root :: config_parser.py :: 173 :: Warning: host is not found in app > smtp > host 2023-11-02 11:42:28,533 :: WARNING :: root :: config_parser.py :: 186 :: Warning: port is not found in app > smtp > port 2023-11-02 11:42:28,533 :: WARNING :: root :: config_parser.py :: 199 :: Warning: no_tls is not found in app > smtp > no_tls 2023-11-02 11:42:28,533 :: WARNING :: root :: config_parser.py :: 160 :: Warning: password is not found in app > smtp > password 2023-11-02 11:42:28,533 :: WARNING :: root :: notify.py :: 47 :: Not sending 2FA notification because SMTP is not configured

Connected to the console and re-ran:

icloud @. @.> --session-directory=/app/session_data

Rebooted and same thing..

On Nov 2, 2023, at 11:50 AM, Mandar Patil @.***> wrote:

If you have any suggestions on how to make the instructions idiot-proof, feel free to submit a PR.

Yes - without any filters, it will download everything.

There is no way to see % complete as the app doesn't know in advance how much is there to download. For last time it synced, you can look at logs once it is complete downloading for the first time.

— Reply to this email directly, view it on GitHub https://github.com/mandarons/icloud-drive-docker/issues/169#issuecomment-1790998398, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANVO6FXHWVB74JWXQ6FWHFTYCO6MPAVCNFSM6AAAAAA62EUZZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJQHE4TQMZZHA. You are receiving this because you authored the thread.

mandarons commented 1 year ago

It should have asked you for saving the password in the keyring. Did you not say yes to it?

Fishairman90 commented 1 year ago

I said yes to that

On Nov 2, 2023, at 12:22 PM, Mandar Patil @.***> wrote:

It should have asked you for saving the password in the keyring. Did you not say yes to it?

— Reply to this email directly, view it on GitHub https://github.com/mandarons/icloud-drive-docker/issues/169#issuecomment-1791058669, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANVO6FURYTZMYDMQLFZINETYCPCFDAVCNFSM6AAAAAA62EUZZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJRGA2TQNRWHE. You are receiving this because you authored the thread.

Fishairman90 commented 1 year ago

Just started from fresh and tried it again. Made sure to say “yes” to the keychain question. Same errors in the log.

On Nov 2, 2023, at 12:22 PM, Mandar Patil @.***> wrote:

It should have asked you for saving the password in the keyring. Did you not say yes to it?

— Reply to this email directly, view it on GitHub https://github.com/mandarons/icloud-drive-docker/issues/169#issuecomment-1791058669, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANVO6FURYTZMYDMQLFZINETYCPCFDAVCNFSM6AAAAAA62EUZZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJRGA2TQNRWHE. You are receiving this because you authored the thread.

mandarons commented 1 year ago

Try mounting /app/session_data directory.