ep1cman / unifi-protect-backup

Python tool to backup unifi event clips in realtime
MIT License
644 stars 32 forks source link

rclone does not have a remote called `Blah` #170

Closed JonLaliberte closed 1 week ago

JonLaliberte commented 1 week ago

Description

When I start the container, I get an error: "rclone does not have a remote called Blah"

What I Did

I figured this was a permissions issue, so I entered the container: docker exec -it opt_unifi-protect-backup_1 /bin/bash

And I checked that the config file was readable and it was:

# cat rclone.conf
[Blah]
type = Z
account = X
key = Y
hard_delete = true

Docker config:

  unifi-protect-backup:
    image: ghcr.io/ep1cman/unifi-protect-backup
    environment:
      - UFP_USERNAME=XXX
      - UFP_PASSWORD=XXX
      - UFP_ADDRESS=XXX
      - UFP_SSL_VERIFY=false
      - RCLONE_DESTINATION=Blah
      - RCLONE_RETENTION=100y
      - PURGE_INTERVAL=1w
    volumes:
      - /unifi-protect-backup/clips:/data
      - /unifi-protect-backup/database:/config/database
      - /unifi-protect-backup/rclone.conf:/config/rclone/rclone.conf
    restart: unless-stopped

I ran:

docker run \
    --rm \
    -v /unifi-protect-backup/rclone.conf:/config/rclone/rclone.conf \
    -e RCLONE_CONFIG='/config/rclone/rclone.conf' \
    --entrypoint rclone \
    ghcr.io/ep1cman/unifi-protect-backup \
    listremotes

And it printed:

Blah:
ep1cman commented 1 week ago

Well thats seems odd. Can you post the full log?

JonLaliberte commented 1 week ago

@ep1cman

Here you go.

I noticed today the "Based on images from linuxserver.io" so I started using PUID and PGID, and I updated permissions on the files/dirs that are used by the container.

I tested using this again:

docker run \
    --rm \
    -v /unifi-protect-backup/rclone.conf:/config/rclone/rclone.conf \
    -e RCLONE_CONFIG='/config/rclone/rclone.conf' \
    --entrypoint rclone \
    ghcr.io/ep1cman/unifi-protect-backup \
    listremotes

And that still outputs the one remote I have configured, "Blah". I've also tried:

unifi-protect-backup_1  | 2024-10-10T15:12:30.359705248Z       |_____|_____|_|_____|____/
unifi-protect-backup_1  | 2024-10-10T15:12:30.359713238Z
unifi-protect-backup_1  | 2024-10-10T15:12:30.359721177Z   Based on images from linuxserver.io
unifi-protect-backup_1  | 2024-10-10T15:12:30.359729438Z ───────────────────────────────────────
unifi-protect-backup_1  | 2024-10-10T15:12:30.360435585Z
unifi-protect-backup_1  | 2024-10-10T15:12:30.360471121Z To support LSIO projects visit:
unifi-protect-backup_1  | 2024-10-10T15:12:30.360482704Z https://www.linuxserver.io/donate/
unifi-protect-backup_1  | 2024-10-10T15:12:30.360491501Z
unifi-protect-backup_1  | 2024-10-10T15:12:30.360499889Z ───────────────────────────────────────
unifi-protect-backup_1  | 2024-10-10T15:12:30.360510170Z GID/UID
unifi-protect-backup_1  | 2024-10-10T15:12:30.360518405Z ───────────────────────────────────────
unifi-protect-backup_1  | 2024-10-10T15:12:30.370811812Z
unifi-protect-backup_1  | 2024-10-10T15:12:30.370850467Z User UID:    1003
unifi-protect-backup_1  | 2024-10-10T15:12:30.370861263Z User GID:    1004
unifi-protect-backup_1  | 2024-10-10T15:12:30.370870052Z ───────────────────────────────────────
unifi-protect-backup_1  | 2024-10-10T15:12:30.460340732Z [custom-init] No custom files found, skipping...
unifi-protect-backup_1  | 2024-10-10T15:12:30.498557734Z [ls.io-init] done.
unifi-protect-backup_1  | 2024-10-10T15:12:30.501000049Z v
unifi-protect-backup_1  | 2024-10-10T15:12:30.938049327Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :  Config:
unifi-protect-backup_1  | 2024-10-10T15:12:30.938065278Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    address='192.168.1.1'
unifi-protect-backup_1  | 2024-10-10T15:12:30.938067149Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    port=443
unifi-protect-backup_1  | 2024-10-10T15:12:30.938076895Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    username=REDACTED
unifi-protect-backup_1  | 2024-10-10T15:12:30.938177330Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    password=REDACTED
unifi-protect-backup_1  | 2024-10-10T15:12:30.938190851Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    verify_ssl=False
unifi-protect-backup_1  | 2024-10-10T15:12:30.938192933Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    rclone_destination='Blah'
unifi-protect-backup_1  | 2024-10-10T15:12:30.938210266Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    retention=relativedelta(years=+100)
unifi-protect-backup_1  | 2024-10-10T15:12:30.938289743Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    rclone_args=''
unifi-protect-backup_1  | 2024-10-10T15:12:30.938296012Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    rclone_purge_args=''
unifi-protect-backup_1  | 2024-10-10T15:12:30.938303606Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    ignore_cameras=()
unifi-protect-backup_1  | 2024-10-10T15:12:30.938345815Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    verbose=1
unifi-protect-backup_1  | 2024-10-10T15:12:30.938384099Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    detection_types=['motion', 'person', 'vehicle', 'ring']
unifi-protect-backup_1  | 2024-10-10T15:12:30.938447755Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    file_structure_format='{camera_name}/{event.start:%Y-%m-%d}/{event.end:%Y-%m-%dT%H-%M-%S} {detection_type}.mp4'
unifi-protect-backup_1  | 2024-10-10T15:12:30.938453708Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    sqlite_path='/config/database/events.sqlite'
unifi-protect-backup_1  | 2024-10-10T15:12:30.938477388Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    download_buffer_size=512.0MiB
unifi-protect-backup_1  | 2024-10-10T15:12:30.938517848Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    purge_interval=relativedelta(days=+7)
unifi-protect-backup_1  | 2024-10-10T15:12:30.938553665Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    apprise_notifiers=()
unifi-protect-backup_1  | 2024-10-10T15:12:30.938582456Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    skip_missing=False
unifi-protect-backup_1  | 2024-10-10T15:12:30.938612094Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    download_rate_limit=None events per minute
unifi-protect-backup_1  | 2024-10-10T15:12:30.938647497Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    max_event_length=7200s
unifi-protect-backup_1  | 2024-10-10T15:12:30.938675875Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    use_experimental_downloader=False
unifi-protect-backup_1  | 2024-10-10T15:12:30.938954847Z 2024-10-10 15:12:30 [   INFO    ] unifi_protect_backup.unifi_protect_backup_core :  Starting...
unifi-protect-backup_1  | 2024-10-10T15:12:30.938985571Z 2024-10-10 15:12:30 [   INFO    ] unifi_protect_backup.unifi_protect_backup_core :  Checking rclone configuration...
unifi-protect-backup_1  | 2024-10-10T15:12:30.939076063Z 2024-10-10 15:12:30 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :  rclone found: /usr/bin/rclone
unifi-protect-backup_1  | 2024-10-10T15:12:30.980896148Z 2024-10-10 15:12:30 [   ERROR   ] unifi_protect_backup.unifi_protect_backup_core :  Unexpected exception occurred in main loop:
unifi-protect-backup_1  | 2024-10-10T15:12:30.980908552Z Traceback (most recent call last):
unifi-protect-backup_1  | 2024-10-10T15:12:30.980916957Z   File "/usr/lib/python3.12/site-packages/unifi_protect_backup/unifi_protect_backup_core.py", line 189, in start
unifi-protect-backup_1  | 2024-10-10T15:12:30.980918908Z     await self._check_rclone()
unifi-protect-backup_1  | 2024-10-10T15:12:30.980920284Z   File "/usr/lib/python3.12/site-packages/unifi_protect_backup/unifi_protect_backup_core.py", line 331, in _check_rclone
unifi-protect-backup_1  | 2024-10-10T15:12:30.980921764Z     raise ValueError(f"rclone does not have a remote called `{remote}`")
unifi-protect-backup_1  | 2024-10-10T15:12:30.980923241Z ValueError: rclone does not have a remote called `Blah`
unifi-protect-backup_1  | 2024-10-10T15:12:40.994869772Z 2024-10-10 15:12:40 [   ERROR   ] aiorun                                     :  Unhandled exception; stopping loop: 'Task exception was never retrieved'
unifi-protect-backup_1  | 2024-10-10T15:12:40.994951459Z Traceback (most recent call last):
unifi-protect-backup_1  | 2024-10-10T15:12:40.994971985Z   File "/usr/lib/python3.12/site-packages/aiorun.py", line 219, in new_coro
unifi-protect-backup_1  | 2024-10-10T15:12:40.994989534Z     await coro
unifi-protect-backup_1  | 2024-10-10T15:12:40.994999713Z   File "/usr/lib/python3.12/site-packages/unifi_protect_backup/unifi_protect_backup_core.py", line 189, in start
unifi-protect-backup_1  | 2024-10-10T15:12:40.995008946Z     await self._check_rclone()
unifi-protect-backup_1  | 2024-10-10T15:12:40.995017108Z   File "/usr/lib/python3.12/site-packages/unifi_protect_backup/unifi_protect_backup_core.py", line 331, in _check_rclone
unifi-protect-backup_1  | 2024-10-10T15:12:40.995029036Z     raise ValueError(f"rclone does not have a remote called `{remote}`")
unifi-protect-backup_1  | 2024-10-10T15:12:40.995043587Z ValueError: rclone does not have a remote called `Blah`
unifi-protect-backup_1  | 2024-10-10T15:12:40.995385850Z Traceback (most recent call last):
unifi-protect-backup_1  | 2024-10-10T15:12:40.995434958Z   File "/usr/bin/unifi-protect-backup", line 8, in <module>
unifi-protect-backup_1  | 2024-10-10T15:12:40.995636477Z     sys.exit(main())
unifi-protect-backup_1  | 2024-10-10T15:12:40.995674205Z              ^^^^^^
unifi-protect-backup_1  | 2024-10-10T15:12:40.995691164Z   File "/usr/lib/python3.12/site-packages/click/core.py", line 1137, in __call__
unifi-protect-backup_1  | 2024-10-10T15:12:40.997068111Z     return self.main(*args, **kwargs)
unifi-protect-backup_1  | 2024-10-10T15:12:40.997114854Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^
unifi-protect-backup_1  | 2024-10-10T15:12:40.997157246Z   File "/usr/lib/python3.12/site-packages/click/core.py", line 1062, in main
unifi-protect-backup_1  | 2024-10-10T15:12:40.998255419Z     rv = self.invoke(ctx)
unifi-protect-backup_1  | 2024-10-10T15:12:40.998309379Z          ^^^^^^^^^^^^^^^^
unifi-protect-backup_1  | 2024-10-10T15:12:40.998322891Z   File "/usr/lib/python3.12/site-packages/click/core.py", line 1404, in invoke
unifi-protect-backup_1  | 2024-10-10T15:12:40.999235499Z     return ctx.invoke(self.callback, **ctx.params)
unifi-protect-backup_1  | 2024-10-10T15:12:40.999258991Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unifi-protect-backup_1  | 2024-10-10T15:12:40.999261074Z   File "/usr/lib/python3.12/site-packages/click/core.py", line 763, in invoke
unifi-protect-backup_1  | 2024-10-10T15:12:40.999535868Z     return __callback(*args, **kwargs)
unifi-protect-backup_1  | 2024-10-10T15:12:40.999559257Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
unifi-protect-backup_1  | 2024-10-10T15:12:40.999561286Z   File "/usr/lib/python3.12/site-packages/unifi_protect_backup/cli.py", line 232, in main
unifi-protect-backup_1  | 2024-10-10T15:12:40.999797660Z     run(event_listener.start(), stop_on_unhandled_errors=True)
unifi-protect-backup_1  | 2024-10-10T15:12:40.999819845Z   File "/usr/lib/python3.12/site-packages/aiorun.py", line 371, in run
unifi-protect-backup_1  | 2024-10-10T15:12:40.999941037Z     raise pending_exception_to_raise
unifi-protect-backup_1  | 2024-10-10T15:12:40.999948200Z   File "/usr/lib/python3.12/site-packages/aiorun.py", line 219, in new_coro
unifi-protect-backup_1  | 2024-10-10T15:12:40.999994010Z     await coro
unifi-protect-backup_1  | 2024-10-10T15:12:41.000000251Z   File "/usr/lib/python3.12/site-packages/unifi_protect_backup/unifi_protect_backup_core.py", line 189, in start
unifi-protect-backup_1  | 2024-10-10T15:12:41.000082722Z     await self._check_rclone()
unifi-protect-backup_1  | 2024-10-10T15:12:41.000089815Z   File "/usr/lib/python3.12/site-packages/unifi_protect_backup/unifi_protect_backup_core.py", line 331, in _check_rclone
unifi-protect-backup_1  | 2024-10-10T15:12:41.000136424Z     raise ValueError(f"rclone does not have a remote called `{remote}`")
unifi-protect-backup_1  | 2024-10-10T15:12:41.000140456Z ValueError: rclone does not have a remote called `Blah`
unifi-protect-backup_1  | 2024-10-10T15:12:42.038870920Z v
ep1cman commented 1 week ago

Ah I have figured out the issue, you've given just the name of the rclone remote as the destination not the full path of where on that remote you want to store the file. It should look something like this: my_remote:/unifi_protect_backup

If you want to store the files on the root of the remote it would be: Blah:/

JonLaliberte commented 1 week ago

Good catch, thanks!