krestaino / sptnr

🎵 Sync Spotify's track popularity to Navidrome ratings.
MIT License
23 stars 2 forks source link

exec format error #1

Closed janaxhell closed 10 months ago

janaxhell commented 10 months ago

Hi, I'm trying to deploy the docker-compose.yml, but I'm getting exec error. My compose looks like this

version: "3.8"

services:
  sptnr:
    container_name: sptnr
    image: krestaino/sptnr:latest
    environment:
      - NAV_BASE_URL=https://xxx.xxx.xxx
      - NAV_USER=xxxxxxxx
      - NAV_PASS=xxxxxxxx
      - SPOTIFY_CLIENT_ID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      - SPOTIFY_CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    volumes:
      - /srv/dev-disk-by-uuid-5b67514d-485e-4306-873e-b1cbb54ccf99/Config/sptnr/logs:/usr/src/app/logs

networks:
  omv1:
    external: true

I have added omv1 network because I have not enough non-overlapping IPs. The first time I ran it I got:

root@openmediavault:~# root@openmediavault:~# docker-compose run sptnr
WARN[0000] network default: network.external.name is deprecated. Please set network.name with external: true
[+] Running 9/9
 ✔ sptnr 8 layers [⣿⣿⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                                                               12.3s
   ✔ 24e221e92a36 Pull complete                                                                                    1.1s
   ✔ 6b9513afbd99 Pull complete                                                                                    0.6s
   ✔ 55ea35dd0432 Pull complete                                                                                    0.9s
   ✔ e544e6fd47b5 Pull complete                                                                                    1.0s
   ✔ 9f311383358c Pull complete                                                                                    1.4s
   ✔ 471c37cf8014 Pull complete                                                                                    3.4s
   ✔ 261624c2de83 Pull complete                                                                                    3.0s
   ✔ 9b17a06ed32b Pull complete                                                                                    2.3s
exec /usr/local/bin/python: exec format error

I fixed the syntax of omv1 network like above (some apps want it in a way, some others in another) and in this case all I get is:

root@openmediavault:~# docker-compose run sptnr
exec /usr/local/bin/python: exec format error

Also tried to add /music to my Navidrome address AND local IP instead of public domain with same result.

EDIT I'm on Open Media Vault 6 x86.

krestaino commented 10 months ago

I just pushed a new version which has better error handling. Please try the new version 1.1.0 (or higher) and update your issue here with any relevant error messages. You can either pull the changes and build/run locally, or simply use the latest public Docker image.

basdp commented 10 months ago

I have the same problem; it looks like there are only ARM64 builds pushed to Docker hub. Running on x86 won't work. https://hub.docker.com/r/krestaino/sptnr/tags

janaxhell commented 10 months ago

I just pushed a new version which has better error handling. Please try the new version 1.1.0 (or higher) and update your issue here with any relevant error messages. You can either pull the changes and build/run locally, or simply use the latest public Docker image.

I tried the docker-compose again with same exec error, I assume the problem is what basdp said. Anyway I'm not familiar with building from CLI, I always deploy from Portainer, which ins this case seems not pertinent, as this is more a "command" rather than a service. Although would be nice if it was and fired periodically.

krestaino commented 10 months ago

@basdp Thank you for pointing that out.

I was able to reproduce this error on my x86 desktop. I have pushed a new version 1.3.0 which now supports linux/amd64 and linux/arm64. I just tested the new build on my x86 desktop and it's working now. Please pull the latest image and let me know if it's working for you now.

janaxhell commented 10 months ago

I keep getting exec error. Is it possible that the previous image is not being replaced? How do I clear it without prune command? I have many stopped containers that I don't want to prune, nor start all together. From Portainer I can select the single image I want to remove, but how do I do that from CLI?

krestaino commented 10 months ago

@janaxhell You should be able to simply run docker pull krestaino/sptnr:latest to grab the latest image.

janaxhell commented 10 months ago

Yes, it's working now. I thought that since krestaino/sptnr:latest was in the compose, it would pull when I ran the .yml file. It is showing a lot of albums and songs scrolling now. It will take a long time, I have 33K albums. I'm curious to see how it will look after it's finished.

krestaino commented 10 months ago

Wow, that's a ton of albums, good luck! It's going to take days, I would imagine. You might run into rate limiting issues with Spotify too. You may want to consider running the script in batches. See the docs for more info about this and estimated processing times.

https://github.com/krestaino/sptnr?tab=readme-ov-file#resuming-interrupted-sessions https://github.com/krestaino/sptnr?tab=readme-ov-file#estimated-processing-times

I'm going to close this issue now. Feel free to open a new issue if something else comes up.