Open hackbardc opened 2 months ago
Does mopidy or snapcast use issue this error?
Did you try the env variable: INSTALL_PIP_PACKAGES=
as documented here:
https://github.com/linuxserver/docker-mods/tree/universal-package-install
and used in the docker compose here:
I updated with the current upstream base images from linuxserver.io, could you try again?
Hey, thanks for coming back so quickly. I think I got some configuration errors in my first try. I started again and added my changes in the configs but the Packages from INSTALL_PIP_PACKAGES are not installed Hope I'm not missing something, also tried the docker-compose without unneeded changes with the same result.
docker-compose
services:
mopidy:
container_name: mopidy
image: docker.io/sweisgerber/mopidy:latest
hostname: mopidy
environment:
- TZ=Europe/Berlin
- DOCKER_MODS=linuxserver/mods:universal-package-install
- INSTALL_PIP_PACKAGES=Mopidy-YTMusic|Mopidy-YouTube|yt-dlp|Mopidy-SoundCloud|Mopidy-ALSAMixer
restart: "unless-stopped"
ports:
devices:
volumes:
- ./config/mopidy/:/config/
- ./data/mopidy/:/data/
- /var/media/sda1-usb-USB_SanDisk_3.2G:/music:ro
snapcast:
container_name: snapcast
image: docker.io/sweisgerber/snapcast:latest
hostname: snapcast
environment:
- TZ=Europe/Berlin
restart: "unless-stopped"
ports:
devices:
volumes:
- ./config/snapcast/:/config/
- ./data/snapcast/:/data/
- ./data/audio/:/audio/
mopidy.conf
[core]
cache_dir = /data/cache
config_dir = /config
data_dir = /data/mopidy
max_tracklist_length = 10000
restore_state = true
[logging]
verbosity = 0
format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\n %(message)s
color = true
config_file =
[audio]
output = alsasink device=hw:2,0
[m3u]
enabled = true
base_dir = /music
default_encoding = utf-8
default_extension = .m3u
playlists_dir = /data/playlists
[proxy]
scheme =
hostname =
port =
username =
password =
[softwaremixer]
enabled = true
[http]
enabled = true
hostname = 0.0.0.0
port = 6680
csrf_protection = false
allowed_origins=192.168.1.9,room5
default_app = iris
[mpd]
enabled = true
hostname = 0.0.0.0
port = 6600
max_connections = 20
connection_timeout = 60
[scrobbler]
enabled = false
username =
password =
[bandcamp]
enabled = false
identity =
[file]
enabled = true
media_dirs = /music
excluded_file_extensions =
.directory
.html
.jpeg
.jpg
.log
.nfo
.pdf
.png
.txt
.zip
show_dotfiles = false
follow_symlinks = false
metadata_timeout = 1000
[jellyfin]
enabled = false
hostname =
username =
libraries =
albumartistsort = True
[local]
enabled = true
media_dir = /music
directories =
Albums local:directory?type=album
Artists local:directory?type=artist
Composers local:directory?type=artist&role=composer
Genres local:directory?type=genre
Performers local:directory?type=artist&role=performer
Release Years local:directory?type=date&format=%25Y
Tracks local:directory?type=track
Last Week Updates local:directory?max-age=604800
Last Month Updates local:directory?max-age=2592000
Last Month Albums local:directory?type=album&max-age=2592000
max_search_results = 100
scan_timeout = 1000
scan_flush_threshold = 1000
album_art_files = *.jpg, *.jpeg, *.png
excluded_file_extensions =
.bak
.backup
.cue
.db
.directory
.html
.gif
.ini
.jpeg
.jpg
.log
.m3u
.m3u8
.md
.nfo
.old
.pdf
.png
.sfv
.srt
.txt
.zip
[podcast]
enabled = false
browse_root = https://news.bbc.co.uk/rss/newsonline_world_edition/feeds.opml
browse_order = desc
lookup_order = asc
cache_size = 64
cache_ttl = 86400
timeout = 10
[somafm]
enabled = false
dj_as_artist = false
encoding = aac
quality = highest
[spotify]
enabled = false
username =
password =
client_id =
client_secret =
bitrate = 160
timeout = 10
cache_dir = /data/spotify
[subidy]
enabled = false
url =
username =
password =
[youtube]
enabled = true
youtube_dl_package = yt_dlp
[soundcloud]
auth_token = ********
[iris]
enabled = true
country = de
locale = en_US
data_dir = /data/iris
snapcast_enabled = true
snapcast_host = snapcast
snapcast_port = 1780
snapcast_stream = Mopidy
mopidy logs
[mod-init] Running Docker Modification Logic
[mod-init] Adding linuxserver/mods:universal-package-install to container
[mod-init] (ERROR) linuxserver/mods:universal-package-install digest could not be fetched from lscr.io
[migrations] started
[migrations] no migrations found
usermod: no changes
───────────────────────────────────────
_____ __ __ _____ _____ _____ _____
| | | | __|_ _| | |
| --| | |__ | | | | | | | | |
|_____|_____|_____| |_| |_____|_|_|_|
_____ __ __ _ __ ____
| __ | | | | | | \
| __ -| | | | |__| | |
|_____|_____|_|_____|____/
Based on images from linuxserver.io
───────────────────────────────────────
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────
User UID: 911
User GID: 911
───────────────────────────────────────
find: ‘/root/.cache/dconf’: No such file or directory
**** Permissions could not be set. This is probably because your volume mounts are remote or read-only. ****
**** The app may not work properly and we will not provide support for it. ****
[custom-init] No custom files found, skipping...
INFO 2024-09-11 17:34:27,521 [163:MainThread] mopidy.__main__
Starting Mopidy 3.4.2
INFO 2024-09-11 17:34:27,580 [163:MainThread] mopidy.config
Loading config from builtin defaults
INFO 2024-09-11 17:34:27,586 [163:MainThread] mopidy.config
Loading config from file:///config/mopidy.conf
INFO 2024-09-11 17:34:27,589 [163:MainThread] mopidy.config
Loading config from command line options
WARNING 2024-09-11 17:34:27,601 [163:MainThread] mopidy.config
Ignoring config section 'soundcloud' because no matching extension was found
WARNING 2024-09-11 17:34:27,601 [163:MainThread] mopidy.config
Ignoring config section 'youtube' because no matching extension was found
INFO 2024-09-11 17:34:27,987 [163:MainThread] mopidy.__main__
Enabled extensions: local, iris, mpd, http, softwaremixer, file, stream, m3u
INFO 2024-09-11 17:34:27,987 [163:MainThread] mopidy.__main__
Disabled extensions: subidy, spotify, jellyfin, somafm, bandcamp, podcast, scrobbler
INFO 2024-09-11 17:34:28,246 [163:MainThread] mopidy.commands
Starting Mopidy mixer: SoftwareMixer
INFO 2024-09-11 17:34:28,250 [163:MainThread] mopidy.commands
Starting Mopidy audio
INFO 2024-09-11 17:34:28,253 [163:MainThread] mopidy.commands
Starting Mopidy backends: FileBackend, M3UBackend, StreamBackend, LocalBackend
INFO 2024-09-11 17:34:28,285 [163:Audio-2 (_actor_loop)] mopidy.audio.actor
Audio output set to "alsasink device=hw:2,0"
INFO 2024-09-11 17:34:28,302 [163:MainThread] mopidy.commands
Starting Mopidy core
INFO 2024-09-11 17:34:28,316 [163:Core-7 (_actor_loop)] mopidy.core.actor
Loading state from /data/mopidy/core/state.json.gz
INFO 2024-09-11 17:34:28,321 [163:MainThread] mopidy.commands
Starting Mopidy frontends: HttpFrontend, IrisFrontend, MpdFrontend
INFO 2024-09-11 17:34:28,324 [163:HttpFrontend-9 (_actor_loop)] mopidy.http.actor
HTTP server running at [::ffff:0.0.0.0]:6680
INFO 2024-09-11 17:34:28,325 [163:IrisFrontend-10 (_actor_loop)] mopidy_iris.core
Starting Iris 3.69.3
WARNING 2024-09-11 17:34:28,328 [163:HttpServer] mopidy.http.handlers
HTTP Cross-Site Request Forgery protection is disabled
INFO 2024-09-11 17:34:28,330 [163:MainThread] mopidy_mpd.actor
MPD server running at [::ffff:0.0.0.0]:6600
INFO 2024-09-11 17:34:28,334 [163:MainThread] mopidy.commands
Starting GLib mainloop
INFO 2024-09-11 17:34:28,637 [163:MpdSession-12 (_actor_loop)] mopidy_mpd.session
New MPD connection from [::ffff:172.23.0.1]:37098
Connection to localhost (127.0.0.1) 6680 port [tcp/*] succeeded!
[ls.io-init] done.
I'm still not sure if its only a me (config) error O_o
Kind Regards, hb
I added
DOCKER_MODS_DEBUG=true
not much more infos
room5:~/docker/snapidy # docker logs mopidy -f
[mod-init] Running Docker Modification Logic
[mod-init] (DEBUG) Running in debug mode
[mod-init] (DEBUG) Mod script version 3.20240626
[mod-init] (DEBUG) Registry='lscr.io', Repository='linuxserver', Image='linuxserver/mods', Tag='universal-package-install'
[mod-init] Adding linuxserver/mods:universal-package-install to container
[mod-init] (DEBUG) Using https://ghcr.io/token?scope=repository%3Alinuxserver%2Fmods%3Apull as auth endpoint
[mod-init] (DEBUG) Arch detected as arm64
[mod-init] (DEBUG) Mod only has a single arch manifest
[mod-init] (ERROR) linuxserver/mods:universal-package-install digest could not be fetched from lscr.io
[migrations] started
[migrations] no migrations found
usermod: no changes
───────────────────────────────────────
_____ __ __ _____ _____ _____ _____
| | | | __|_ _| | |
| --| | |__ | | | | | | | | |
|_____|_____|_____| |_| |_____|_|_|_|
_____ __ __ _ __ ____
| __ | | | | | | \
| __ -| | | | |__| | |
|_____|_____|_|_____|____/
Based on images from linuxserver.io
───────────────────────────────────────
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────
User UID: 911
User GID: 911
───────────────────────────────────────
[pkg-install-init] (DEBUG) Package install script version 1.20240608
[pkg-install-init] (DEBUG) No pip packages defined for install, skipping.
[pkg-install-init] (DEBUG) No os packages defined for install, skipping.
[pkg-install-init] (DEBUG) Deleting temporary install lists for os and pip packages.
find: ‘/root/.cache/dconf’: No such file or directory
**** Permissions could not be set. This is probably because your volume mounts are remote or read-only. ****
When executing your started compose.yml, it worked flawlessly for me after removing your undefined ports
& devices
lines.
Be sure to pull the lastest images from my repo.
[+] Running 12/12
✔ snapcast Pulled 5.5s
✔ 7bca1d11437f Pull complete 0.9s
✔ df25a931801a Pull complete 1.0s
✔ 5dbb5cc4e4d2 Pull complete 1.2s
✔ e145bc685c96 Pull complete 1.3s
✔ 7031fa13443e Pull complete 1.7s
✔ 726f26e54d0f Pull complete 1.9s
✔ 95258b662306 Pull complete 3.4s
✔ 16a7801c5903 Pull complete 3.5s
✔ mopidy Pulled 16.3s
✔ 4447e30a3c45 Pull complete 14.0s
✔ b410d5d03d48 Pull complete 14.2s
[+] Running 3/3
✔ Network mopidy-github_default Created 0.1s
✔ Container snapcast Created 0.2s
✔ Container mopidy Created 0.2s
Attaching to mopidy, snapcast
mopidy | [mod-init] Running Docker Modification Logic
snapcast | [migrations] started
snapcast | [migrations] no migrations found
snapcast | usermod: no changes
snapcast | ───────────────────────────────────────
snapcast | _____ __ __ _____ _____ _____ _____
snapcast | | | | | __|_ _| | |
snapcast | | --| | |__ | | | | | | | | |
snapcast | |_____|_____|_____| |_| |_____|_|_|_|
snapcast | _____ __ __ _ __ ____
snapcast | | __ | | | | | | \
snapcast | | __ -| | | | |__| | |
snapcast | |_____|_____|_|_____|____/
snapcast |
snapcast | Based on images from linuxserver.io
snapcast | ───────────────────────────────────────
snapcast |
snapcast | To support LSIO projects visit:
snapcast | https://www.linuxserver.io/donate/
snapcast |
snapcast | ───────────────────────────────────────
snapcast | GID/UID
snapcast | ───────────────────────────────────────
snapcast |
snapcast | User UID: 911
snapcast | User GID: 911
snapcast | ───────────────────────────────────────
snapcast | Not starting snapclient. Set 'START_SNAPCLIENT=true' to start it.
snapcast | [custom-init] No custom files found, skipping...
snapcast | 2024-09-17 09-50-07.371 [Info] (Snapserver) Version 0.29.0
snapcast | 2024-09-17 09-50-07.371 [Info] (Snapserver) Adding source: librespot://librespot?name=LibreSpot&bitrate=320&sampleformat=44100:16:2
snapcast | 2024-09-17 09-50-07.371 [Info] (Snapserver) Adding source: pipe:////audio/snapcast_fifo?name=Mopidy
snapcast | 2024-09-17 09-50-07.371 [Notice] (init) Settings file: "/data/server.json"
snapcast | 2024-09-17 09-50-07.371 [Error] (Avahi) Failed to create client: Daemon not running
snapcast | 2024-09-17 09-50-07.371 [Info] (Snapserver) Using HTTP host name: snapcast
snapcast | 2024-09-17 09-50-07.371 [Info] (PcmStream) PcmStream: LibreSpot, sampleFormat: 44100:16:2
snapcast | 2024-09-17 09-50-07.372 [Info] (Server) Stream: {"fragment":"","host":"librespot","path":"","query":{"bitrate":"320","chunk_ms":"20","codec":"pcm","name":"LibreSpot","sampleformat":"44100:16:2"},"raw":"librespot://librespot/?bitrate=320&chunk_ms=20&codec=pcm&name=LibreSpot&sampleformat=44100:16:2","scheme":"librespot"}
snapcast | 2024-09-17 09-50-07.372 [Info] (PcmStream) PcmStream: Mopidy, sampleFormat: 48000:16:2
snapcast | 2024-09-17 09-50-07.372 [Info] (PipeStream) PipeStream mode: create
snapcast | 2024-09-17 09-50-07.372 [Info] (Server) Stream: {"fragment":"","host":"","path":"//audio/snapcast_fifo","query":{"chunk_ms":"20","codec":"pcm","name":"Mopidy","sampleformat":"48000:16:2"},"raw":"pipe://///audio/snapcast_fifo?chunk_ms=20&codec=pcm&name=Mopidy&sampleformat=48000:16:2","scheme":"pipe"}
snapcast | 2024-09-17 09-50-07.372 [Info] (PcmEnc) Init
snapcast | 2024-09-17 09-50-07.377 [Info] (Watchdog) Starting watchdog, timeout: 7800s
snapcast | 2024-09-17 09-50-07.377 [Info] (PcmEnc) Init
snapcast | 2024-09-17 09-50-07.377 [Info] (ControlServer) Creating TCP acceptor for address: 0.0.0.0, port: 1705
snapcast | 2024-09-17 09-50-07.377 [Info] (ControlServer) Creating HTTP acceptor for address: 0.0.0.0, port: 1780
snapcast | 2024-09-17 09-50-07.377 [Info] (StreamServer) Creating stream acceptor for address: 0.0.0.0, port: 1704
snapcast | 2024-09-17 09-50-07.377 [Info] (Snapserver) Number of threads: 4, hw threads: 12
snapcast | 2024-09-17 09-50-07.377 [Error] (AsioStream) Error reading message: End of file, length: 0, ec: asio.misc:2
snapcast | 2024-09-17 09-50-07.378 [Notice] (ControlServer) ControlServer::NewConnection: 127.0.0.1
snapcast | Connection to localhost (127.0.0.1) 1780 port [tcp/*] succeeded!
snapcast | 2024-09-17 09-50-07.378 [Info] (librespot) librespot 0.4.2 UNKNOWN (Built on 2023-08-01, Build ID: 1690865570, Profile: release)
snapcast | 2024-09-17 09-50-07.379 [Warn] (libmdns) Failed to register IPv6 receiver: Os { code: 19, kind: Uncategorized, message: "No such device" }
mopidy | [mod-init] Adding linuxserver/mods:universal-package-install to container
snapcast | 2024-09-17 09-50-07.498 [Info] (AsioStream) No data since 120 ms, switching to idle
mopidy | [mod-init] Downloading linuxserver/mods:universal-package-install from lscr.io
mopidy | [mod-init] Installing linuxserver/mods:universal-package-install
mopidy | [mod-init] linuxserver/mods:universal-package-install applied to container
mopidy | [migrations] started
mopidy | [migrations] no migrations found
mopidy | usermod: no changes
mopidy | ───────────────────────────────────────
mopidy | _____ __ __ _____ _____ _____ _____
mopidy | | | | | __|_ _| | |
mopidy | | --| | |__ | | | | | | | | |
mopidy | |_____|_____|_____| |_| |_____|_|_|_|
mopidy | _____ __ __ _ __ ____
mopidy | | __ | | | | | | \
mopidy | | __ -| | | | |__| | |
mopidy | |_____|_____|_|_____|____/
mopidy |
mopidy | Based on images from linuxserver.io
mopidy | ───────────────────────────────────────
mopidy |
mopidy | To support LSIO projects visit:
mopidy | https://www.linuxserver.io/donate/
mopidy |
mopidy | ───────────────────────────────────────
mopidy | GID/UID
mopidy | ───────────────────────────────────────
mopidy |
mopidy | User UID: 911
mopidy | User GID: 911
mopidy | ───────────────────────────────────────
mopidy | **** Adding Mopidy-YTMusic to pip install list ****
mopidy | **** Adding Mopidy-YouTube to pip install list ****
mopidy | **** Adding yt-dlp to pip install list ****
mopidy | **** Adding Mopidy-SoundCloud to pip install list ****
mopidy | **** Adding Mopidy-ALSAMixer to pip install list ****
mopidy | find: ‘/root/.cache/dconf’: No such file or directory
mopidy | **** Permissions could not be set. This is probably because your volume mounts are remote or read-only. ****
mopidy | **** The app may not work properly and we will not provide support for it. ****
mopidy | [pkg-install-init] **** Installing all mod packages ****
mopidy | fetch http://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
mopidy | fetch http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
mopidy | fetch http://nl.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
mopidy | WARNING: Permanently redirected to https://nl.alpinelinux.org:443/alpine/edge/testing/x86_64/APKINDEX.tar.gz
mopidy | (1/1) Installing python3-dev (3.12.6-r0)
mopidy | Executing busybox-1.36.1-r31.trigger
mopidy | OK: 602 MiB in 278 packages
mopidy | [pkg-install-init] **** Installing all pip packages ****
mopidy | [pkg-install-init] **** Creating venv ****
mopidy | Requirement already satisfied: pip in /lsiopy/lib/python3.12/site-packages (24.2)
mopidy | Collecting wheel
mopidy | Downloading wheel-0.44.0-py3-none-any.whl.metadata (2.3 kB)
mopidy | Collecting setuptools
mopidy | Downloading setuptools-75.1.0-py3-none-any.whl.metadata (6.9 kB)
mopidy | Downloading wheel-0.44.0-py3-none-any.whl (67 kB)
mopidy | Downloading setuptools-75.1.0-py3-none-any.whl (1.2 MB)
mopidy | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 15.5 MB/s eta 0:00:00
mopidy | Installing collected packages: wheel, setuptools
mopidy | Successfully installed setuptools-75.1.0 wheel-0.44.0
mopidy | Looking in links: https://wheel-index.linuxserver.io/alpine-http://dl-cdn.alpinelinux.org/alpine/edge/
mopidy | Collecting Mopidy-YTMusic
mopidy | Downloading mopidy_ytmusic-0.3.8-py3-none-any.whl.metadata (738 bytes)
mopidy | Collecting Mopidy-YouTube
mopidy | Downloading Mopidy_YouTube-3.7-py3-none-any.whl.metadata (10 kB)
mopidy | Collecting yt-dlp
mopidy | Downloading yt_dlp-2024.8.6-py3-none-any.whl.metadata (170 kB)
mopidy | Collecting Mopidy-SoundCloud
mopidy | Downloading Mopidy_SoundCloud-3.0.2-py3-none-any.whl.metadata (4.7 kB)
mopidy | Collecting Mopidy-ALSAMixer
mopidy | Downloading Mopidy_ALSAMixer-2.0.1-py3-none-any.whl.metadata (4.8 kB)
mopidy | Collecting Mopidy<4,>=3 (from Mopidy-YTMusic)
mopidy | Downloading Mopidy-3.4.2-py3-none-any.whl.metadata (6.9 kB)
mopidy | Collecting pytube<13.0.0,>=12.1.0 (from Mopidy-YTMusic)
mopidy | Downloading pytube-12.1.3-py3-none-any.whl.metadata (4.9 kB)
mopidy | Collecting ytmusicapi<0.30.0,>=0.22.0 (from Mopidy-YTMusic)
mopidy | Downloading ytmusicapi-0.25.2-py3-none-any.whl.metadata (5.2 kB)
mopidy | Collecting beautifulsoup4 (from Mopidy-YouTube)
mopidy | Downloading beautifulsoup4-4.12.3-py3-none-any.whl.metadata (3.8 kB)
mopidy | Collecting cachetools (from Mopidy-YouTube)
mopidy | Downloading cachetools-5.5.0-py3-none-any.whl.metadata (5.3 kB)
mopidy | Collecting Pykka>=2.0.1 (from Mopidy-YouTube)
mopidy | Downloading pykka-4.0.2-py3-none-any.whl.metadata (2.6 kB)
mopidy | Collecting requests (from Mopidy-YouTube)
mopidy | Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
mopidy | Requirement already satisfied: setuptools in /lsiopy/lib/python3.12/site-packages (from Mopidy-YouTube) (75.1.0)
mopidy | Collecting brotli (from yt-dlp)
mopidy | Downloading Brotli-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl.metadata (5.5 kB)
mopidy | Collecting certifi (from yt-dlp)
mopidy | Downloading certifi-2024.8.30-py3-none-any.whl.metadata (2.2 kB)
mopidy | Collecting mutagen (from yt-dlp)
mopidy | Downloading mutagen-1.47.0-py3-none-any.whl.metadata (1.7 kB)
mopidy | Collecting pycryptodomex (from yt-dlp)
mopidy | Downloading pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_x86_64.whl.metadata (3.4 kB)
mopidy | Collecting urllib3<3,>=1.26.17 (from yt-dlp)
mopidy | Downloading urllib3-2.2.3-py3-none-any.whl.metadata (6.5 kB)
mopidy | Collecting websockets>=12.0 (from yt-dlp)
mopidy | Downloading websockets-13.0.1-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (6.7 kB)
mopidy | Collecting pyalsaaudio (from Mopidy-ALSAMixer)
mopidy | Downloading pyalsaaudio-0.11.0.tar.gz (311 kB)
mopidy | Preparing metadata (setup.py): started
mopidy | Preparing metadata (setup.py): finished with status 'done'
mopidy | Collecting soupsieve>1.2 (from beautifulsoup4->Mopidy-YouTube)
mopidy | Downloading soupsieve-2.6-py3-none-any.whl.metadata (4.6 kB)
mopidy | Collecting tornado>=4.4 (from Mopidy<4,>=3->Mopidy-YTMusic)
mopidy | Downloading tornado-6.4.1-cp38-abi3-musllinux_1_2_x86_64.whl.metadata (2.5 kB)
mopidy | Collecting charset-normalizer<4,>=2 (from requests->Mopidy-YouTube)
mopidy | Downloading charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl.metadata (33 kB)
mopidy | Collecting idna<4,>=2.5 (from requests->Mopidy-YouTube)
mopidy | Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)
mopidy | Downloading mopidy_ytmusic-0.3.8-py3-none-any.whl (21 kB)
mopidy | Downloading Mopidy_YouTube-3.7-py3-none-any.whl (49 kB)
mopidy | Downloading yt_dlp-2024.8.6-py3-none-any.whl (3.1 MB)
mopidy | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 17.5 MB/s eta 0:00:00
mopidy | Downloading Mopidy_SoundCloud-3.0.2-py3-none-any.whl (11 kB)
mopidy | Downloading Mopidy_ALSAMixer-2.0.1-py3-none-any.whl (9.9 kB)
mopidy | Downloading beautifulsoup4-4.12.3-py3-none-any.whl (147 kB)
mopidy | Downloading Mopidy-3.4.2-py3-none-any.whl (128 kB)
mopidy | Downloading pykka-4.0.2-py3-none-any.whl (27 kB)
mopidy | Downloading pytube-12.1.3-py3-none-any.whl (57 kB)
mopidy | Downloading requests-2.32.3-py3-none-any.whl (64 kB)
mopidy | Downloading certifi-2024.8.30-py3-none-any.whl (167 kB)
mopidy | Downloading urllib3-2.2.3-py3-none-any.whl (126 kB)
mopidy | Downloading websockets-13.0.1-cp312-cp312-musllinux_1_2_x86_64.whl (157 kB)
mopidy | Downloading ytmusicapi-0.25.2-py3-none-any.whl (62 kB)
mopidy | Downloading Brotli-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl (2.9 MB)
mopidy | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.9/2.9 MB 21.2 MB/s eta 0:00:00
mopidy | Downloading cachetools-5.5.0-py3-none-any.whl (9.5 kB)
mopidy | Downloading mutagen-1.47.0-py3-none-any.whl (194 kB)
mopidy | Downloading pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_x86_64.whl (2.2 MB)
mopidy | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 20.4 MB/s eta 0:00:00
mopidy | Downloading charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl (142 kB)
mopidy | Downloading idna-3.10-py3-none-any.whl (70 kB)
mopidy | Downloading soupsieve-2.6-py3-none-any.whl (36 kB)
mopidy | Downloading tornado-6.4.1-cp38-abi3-musllinux_1_2_x86_64.whl (436 kB)
mopidy | Building wheels for collected packages: pyalsaaudio
mopidy | Building wheel for pyalsaaudio (setup.py): started
mopidy | Building wheel for pyalsaaudio (setup.py): finished with status 'error'
mopidy | error: subprocess-exited-with-error
mopidy |
mopidy | × python setup.py bdist_wheel did not run successfully.
mopidy | │ exit code: 1
mopidy | ╰─> [7 lines of output]
mopidy | running bdist_wheel
mopidy | running build
mopidy | running build_ext
mopidy | building 'alsaaudio' extension
mopidy | creating build/temp.linux-x86_64-cpython-312
mopidy | gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/lsiopy/include -I/usr/include/python3.12 -c alsaaudio.c -o build/temp.linux-x86_64-cpython-312/alsaaudio.o
mopidy | error: command 'gcc' failed: No such file or directory
mopidy | [end of output]
mopidy |
mopidy | note: This error originates from a subprocess, and is likely not a problem with pip.
mopidy | ERROR: Failed building wheel for pyalsaaudio
mopidy | Running setup.py clean for pyalsaaudio
mopidy | Failed to build pyalsaaudio
mopidy | ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (pyalsaaudio)
mopidy | [custom-init] No custom files found, skipping...
mopidy |
mopidy | ** (gst-plugin-scanner:225): CRITICAL **: 09:50:23.599: pygobject initialization failed: could not import gobject (error was: ModuleNotFoundError("No module named 'gi'"))
mopidy |
mopidy | INFO 2024-09-17 09:50:23,657 [211:MainThread] mopidy.__main__
mopidy | Starting Mopidy 3.4.2
mopidy | INFO 2024-09-17 09:50:23,674 [211:MainThread] mopidy.config
mopidy | Loading config from builtin defaults
mopidy | INFO 2024-09-17 09:50:23,675 [211:MainThread] mopidy.config
mopidy | Loading config from file:///config/mopidy.conf
mopidy | INFO 2024-09-17 09:50:23,676 [211:MainThread] mopidy.config
mopidy | Loading config from command line options
mopidy | INFO 2024-09-17 09:50:23,768 [211:MainThread] mopidy.__main__
mopidy | Enabled extensions: podcast, mpd, iris, http, somafm, m3u, softwaremixer, stream, local, file
mopidy | INFO 2024-09-17 09:50:23,768 [211:MainThread] mopidy.__main__
mopidy | Disabled extensions: bandcamp, scrobbler, jellyfin, spotify, subidy
mopidy | INFO 2024-09-17 09:50:23,828 [211:MainThread] mopidy.commands
mopidy | Starting Mopidy mixer: SoftwareMixer
mopidy | INFO 2024-09-17 09:50:23,830 [211:MainThread] mopidy.commands
mopidy | Mixer volume set to 100
mopidy | INFO 2024-09-17 09:50:23,830 [211:MainThread] mopidy.commands
mopidy | Starting Mopidy audio
mopidy | INFO 2024-09-17 09:50:23,831 [211:MainThread] mopidy.commands
mopidy | Starting Mopidy backends: FileBackend, M3UBackend, StreamBackend, LocalBackend, PodcastBackend, SomaFMBackend
mopidy | INFO 2024-09-17 09:50:23,836 [211:Audio-2 (_actor_loop)] mopidy.audio.actor
mopidy | Audio output set to "audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! filesink location=/data/audio/snapcast_fifo"
mopidy | INFO 2024-09-17 09:50:23,838 [211:MainThread] mopidy.internal.path
mopidy | Creating dir file:///data/mopidy/local
mopidy | INFO 2024-09-17 09:50:24,619 [211:SomaFMBackend-8 (_actor_loop)] mopidy_somafm.somafm
mopidy | Loaded 44 SomaFM channels
mopidy | INFO 2024-09-17 09:50:24,619 [211:MainThread] mopidy.commands
mopidy | Starting Mopidy core
mopidy | INFO 2024-09-17 09:50:24,623 [211:Core-9 (_actor_loop)] mopidy.internal.path
mopidy | Creating dir file:///data/mopidy/core
mopidy | INFO 2024-09-17 09:50:24,623 [211:Core-9 (_actor_loop)] mopidy.core.actor
mopidy | Loading state from /data/mopidy/core/state.json.gz
mopidy | INFO 2024-09-17 09:50:24,623 [211:Core-9 (_actor_loop)] mopidy.internal.storage
mopidy | File does not exist: /data/mopidy/core/state.json.gz
mopidy | INFO 2024-09-17 09:50:24,623 [211:Core-9 (_actor_loop)] mopidy.core.actor
mopidy | Failed to delete /data/mopidy/core/state.json.gz
mopidy | INFO 2024-09-17 09:50:24,623 [211:MainThread] mopidy.commands
mopidy | Starting Mopidy frontends: HttpFrontend, IrisFrontend, MpdFrontend
mopidy | INFO 2024-09-17 09:50:24,624 [211:HttpFrontend-11 (_actor_loop)] mopidy.http.actor
mopidy | HTTP server running at [::ffff:0.0.0.0]:6680
mopidy | INFO 2024-09-17 09:50:24,624 [211:IrisFrontend-12 (_actor_loop)] mopidy_iris.core
mopidy | Starting Iris 3.69.3
mopidy | WARNING 2024-09-17 09:50:24,624 [211:HttpServer] mopidy.http.handlers
mopidy | HTTP Cross-Site Request Forgery protection is disabled
mopidy | INFO 2024-09-17 09:50:24,625 [211:MainThread] mopidy_mpd.actor
mopidy | MPD server running at [::ffff:0.0.0.0]:6600
mopidy | INFO 2024-09-17 09:50:24,625 [211:IrisFrontend-12 (_actor_loop)] mopidy.internal.path
mopidy | Creating dir file:///data/mopidy/iris
mopidy | INFO 2024-09-17 09:50:24,626 [211:MainThread] mopidy.commands
mopidy | Starting GLib mainloop
mopidy | INFO 2024-09-17 09:50:24,627 [211:HttpServer] mopidy.internal.path
mopidy | Creating dir file:///data/mopidy/http
mopidy | Connection to localhost (127.0.0.1) 6680 port [tcp/*] succeeded!
mopidy | [ls.io-init] done.
Whey!
I run into some problems on the weekend and fixed a wrong dns configuration resulting in the weird lscr.io error (I moved the docker DNS pod to the same host as mopidy). I fixed this and the universal mod seems to function.
Also it looks like the container is running fine, as soon as you use INSTALL_PIP it's not working anymore. Its the same error you can see in your log
mopidy | ** (gst-plugin-scanner:225): CRITICAL **: 09:50:23.599: pygobject initialization failed: could not import gobject (error was: ModuleNotFoundError("No module named 'gi'"))
Using this docker-compose
services:
mopidy:
container_name: mopitest
image: docker.io/sweisgerber/mopidy:latest
hostname: mopidy
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- DOCKER_MODS=linuxserver/mods:universal-package-install
- INSTALL_PIP_PACKAGES=Mopidy-Beets|Mopidy-dLeyna|Mopidy-InternetArchive|Mopidy-TuneIn|Mopidy-YTMusic
# - INSTALL_PACKAGES=mopidy-podcast
restart: "unless-stopped"
ports:
- 6600:6600 # Remote Control port for MPD
- 6680:6680 # HTML API & Webinterface port for accessing mopidy
volumes:
- ./config/:/config/
- ./data/:/data/
I get an error running mopidy config
docker exec -it mopitest bash -c "mopidy config"
ERROR: A GObject based library was not found.
Mopidy requires GStreamer to work. GStreamer is a C library with a
number of dependencies itself, and cannot be installed with the regular
Python tools like pip.
Please see https://docs.mopidy.com/en/latest/installation/ for
instructions on how to install the required dependencies.
Traceback (most recent call last):
File "/lsiopy/bin/mopidy", line 5, in <module>
from mopidy.__main__ import main
File "/lsiopy/lib/python3.12/site-packages/mopidy/__main__.py", line 7, in <module>
from mopidy import commands
File "/lsiopy/lib/python3.12/site-packages/mopidy/commands.py", line 18, in <module>
from mopidy.audio import Audio
File "/lsiopy/lib/python3.12/site-packages/mopidy/audio/__init__.py", line 2, in <module>
from .actor import Audio
File "/lsiopy/lib/python3.12/site-packages/mopidy/audio/actor.py", line 8, in <module>
from mopidy.audio import tags as tags_lib
File "/lsiopy/lib/python3.12/site-packages/mopidy/audio/tags.py", line 7, in <module>
from mopidy.internal.gi import GLib, Gst
File "/lsiopy/lib/python3.12/site-packages/mopidy/internal/gi.py", line 5, in <module>
import gi
ModuleNotFoundError: No module named 'gi'
It should be the same with the compose using in the post before. Removing the INSTALL_PIP env results in a working container.
I guess using INSTALL_PIP is still breaking something during creation
Kind Regards, hc
INSTALL_PIP
installs arbitrary PIP packages.
Those packages can have arbitrary dependencies to system libraries.
You can debug this by enabling the INSTALL_PIP
packages one by one and see which PIPs work.
Once you identify the mopidy plugin that causes the error, you can check it's dependency to system libraries and provide the arch package names in INSTALL_PACKAGES
.
Mopidy-dLeyna
is the most promising.
It's unlikely that the error is in the INSTALL_PIP_PACKAGES
mechanism itself and I'm also not maintaining this docker-mod.
linuxserver.io also provides no support for custom images based on their images.
If it's really in the docker-mod universal-package-install
, you would have to reproduce the error with their vanilal images :)
Heyho!
I'm using the mopiroom setup with the latest images and have some problems installing PIP extensions. Using the docker-compose and updating to the latest tag I get an error
error: externally-managed-environment
× This environment is externally managed
I checked the dockerfile and saw "Forced pip install into system folders as quickfix"
I guess the pip install (with pip_install env and in dockerfile) is not working anymore
Any workarround or info I'm missing?
I know arround the pip situation are different solutions but I couldn't figure it out.
Kind Regards and thx for any hints,
hb