I've been looking to sync from my Peleton to my Garmin account. There's been a project (Peleton to Garmin) that I've been using manually, but they just did a big restructure. There are now many more dependencies, and they're now recommending Docker and have distributed an image on DockerHub. This seems great - that'll actually run automatically, and since I have an unraid machine, I can just run it there.
I've only run Docker images that are packaged up for Unraid, so this is new to me and I wanted to record the steps.
First, weirdly it seemed easiest to use the Community Applications plugin to run arbitrary Docker containers, including those from Docker Hub. This took a bit of piecing together, but it was really true (more info https://forums.unraid.net/topic/44702-can-you-use-docker-hub-repositories/ and https://synaptiklabs.com/posts/setup-unraid-to-pull-from-docker-hub/).
After Community Applications is installed:
- enable Docker Hub in Community Application settings.
- set up an app data directory - I did this through
mkdir -p /user/share/appdata/peleton-to-garmin.
- find the right entry in the Community Application search. I first tried 'peleton' or 'peleton to garmin' or 'peleton-to-garmin'; none of those worked, but 'philosowaffle' found the right entry, and I clicked install.
- the peleton-to-garmin instructions recommend docker-compose and a docker-compose file, but it seems overkill for this. Instead I translated the recommended volumes into the Unraid docker configs, and set the TZ as a parameter.
And that was it! I ran it manually the first time, but after that set it to start on boot.
Open question that I haven't solved - while the sync seems to be scheduled to run every so often, mine never triggers unless I restart the instance. That's pretty easy to do, so I haven't investigated this any further. One possible confounding variable is that I often sleep my unraid system (I don't use it that often), so I wonder if that's interfering with the sleep timer?
Update (May 7, 2022): This particular docker started failing with this error:
chown: changing ownership of '/app/configuration.local.json': Read-only file system
/app/configuration.local.json was already in my docker configs, so
I just changed it to Read/Write (instead of Read-Only). That allowed it to
start back up again.