Navidome - - freeze ponctuels et aléatoires

Bonjour,

Mon serveur YunoHost

Matériel: Olimex A20, LIME 2 - Autohébergé (freebox mini4k)
Version de YunoHost: 4.3.5
J’ai accès à mon serveur : En SSH | Par la webadmin | En direct avec un clavier/écran | …
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non
Si oui, expliquer:

Description du problème

Bonjour

J’utilise navidrome depuis quelques mois. Il correspond bien à ce que je recherche.
Par contre, j’ai des freezes aléatoires de temps en temps, difficilement reproductibles

Je me demandais si cela venait de mon serveur (pas assez puissant ? ). Mis à part navidome avec 4/5 users (mais extrêmement rare que 2/3 soient connectés en simultanés ; cadre familial), pas grand chose n’utilise les ressources de ce serveur .

Quand navidome freeze, l’écran ne répond plus (message : “un script occupent les ressources…” ou quelque chose dans le genre (bandeau au fond jaune apparaissant et disparassant dans la fenêtre du navigateur) mais le serveur continue à répondre (seule la partie serveur web semble gelée)

Les autres utilisateurs de cette brique rencontrent ils des soucis ? Rien vu de probant sur le Net.

Des fois j’aurais tendance à penser que ça vient de l’affichage des pochettes. Ai essayé avec ou sans cache, pas de réelles différences.

Si quelqu’un avait une idée, je suis preneur.

Ensuite, rien contre le fait de tester une autre brique de ce style. Si vous en connaissez et êtes satisfait, pouvez vous me les citer

D’avance merci :wink:

Bonjour la communauté
@crustyourmind j’avais lu il y a quelques temps de ça que certains utilisateurs avez quelques freezes à cause de l’animation de la pochette durant la lecture depuis leur navigateur.

Je ne sais si ce bug correspond au tien, sait-on jamais
Il faut ajouter ou modifier dans le fichier conf de navidrome
/var/lib/navidrome/navidrome.toml

EnableCoverAnimation = “false”

Tiens nous au courant si ça a fonctionné pour toi.

Bonjour,

A vérifier également que tu n’utilises pas de lien symbolique pour tes données, cf ma réponse sur la page dédiée à Navidrome sur le forum.

@metyun Non pas de liens symboliques dans le dossiers de données

@mib
Je n’avais pas cette ligne dans le fichier de conf, je l’ai insérer. Je teste et tiens au courant

Merci à vous :wink:

De retour très rapidement
AVec cette option j’obiens une erreur 502 / Bad Gateway

Et

sudo service navidrome status
● navidrome.service - Navidrome Music Server and Streamer compatible with Subsonic/Airsonic
   Loaded: loaded (/etc/systemd/system/navidrome.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2022-01-13 17:46:30 UTC; 1min 6s ago
  Process: 22679 ExecStart=/opt/yunohost/navidrome/navidrome --configfile /var/lib/navidrome/navidrome.toml (code=exited, status=1/FAILURE)
 Main PID: 22679 (code=exited, status=1/FAILURE)

Jan 13 17:46:30 crust.ovh systemd[1]: navidrome.service: Service RestartSec=100ms expired, scheduling restart.
Jan 13 17:46:30 crust.ovh systemd[1]: navidrome.service: Scheduled restart job, restart counter is at 5.
Jan 13 17:46:30 crust.ovh systemd[1]: Stopped Navidrome Music Server and Streamer compatible with Subsonic/Airsonic.
Jan 13 17:46:30 crust.ovh systemd[1]: navidrome.service: Start request repeated too quickly.
Jan 13 17:46:30 crust.ovh systemd[1]: navidrome.service: Failed with result 'exit-code'.
Jan 13 17:46:30 crust.ovh systemd[1]: Failed to start Navidrome Music Server and Streamer compatible with Subsonic/Airsonic.

Sans elle ça passe , navidome démarre.

Si je ne mets pas l’option voici le retour et le fichier de conf

admin@crust:/var/lib/navidrome$ sudo service navidrome restart 
admin@crust:/var/lib/navidrome$ sudo service navidrome status
● navidrome.service - Navidrome Music Server and Streamer compatible with Subsonic/Airsonic
   Loaded: loaded (/etc/systemd/system/navidrome.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2022-01-13 17:49:38 UTC; 2s ago
 Main PID: 22724 (navidrome)
    Tasks: 8 (limit: 2142)
   Memory: 6.3M
   CGroup: /system.slice/navidrome.service
           └─22724 /opt/yunohost/navidrome/navidrome --configfile /var/lib/navidrome/navidrome.toml

Jan 13 17:49:38 crust.ovh navidrome[22724]: time="2022-01-13T17:49:38Z" level=info msg="Mounting Native API routes" path=/zik/api
Jan 13 17:49:38 crust.ovh navidrome[22724]: time="2022-01-13T17:49:38Z" level=error msg="Agent not available. Check configuration" name=spotify
Jan 13 17:49:38 crust.ovh navidrome[22724]: time="2022-01-13T17:49:38Z" level=info msg="Creating Transcoding cache" maxSize="150 MB" path=/var/lib/navidrome/cache/transcoding
Jan 13 17:49:38 crust.ovh navidrome[22724]: time="2022-01-13T17:49:38Z" level=info msg="Finished initializing cache" cache=Transcoding elapsedTime=1.7ms maxSize=150MB
Jan 13 17:49:38 crust.ovh navidrome[22724]: time="2022-01-13T17:49:38Z" level=info msg="Mounting Subsonic API routes" path=/zik/rest
Jan 13 17:49:38 crust.ovh navidrome[22724]: time="2022-01-13T17:49:38Z" level=info msg="Mounting LastFM Auth routes" path=/zik/api/lastfm
Jan 13 17:49:38 crust.ovh navidrome[22724]: time="2022-01-13T17:49:38Z" level=info msg="Mounting ListenBrainz Auth routes" path=/zik/api/listenbrainz
Jan 13 17:49:38 crust.ovh navidrome[22724]: time="2022-01-13T17:49:38Z" level=info msg="Mounting WebUI routes" path=/zik/app
Jan 13 17:49:38 crust.ovh navidrome[22724]: time="2022-01-13T17:49:38Z" level=info msg="Navidrome server is ready!" address="127.0.0.1:4533" startupTime=107.2ms
Jan 13 17:49:38 crust.ovh navidrome[22724]: time="2022-01-13T17:49:38Z" level=info msg="Finished initializing cache" cache=Image elapsedTime=411.1ms maxSize=100MB
admin@crust:/var/lib/navidrome$ sudo cat navidrome.toml 
# Load configurations from an external config file
ConfigFile = "/var/lib/navidrome/navidrome.toml"
 
# Log level. Useful for troubleshooting. Possible values: error, info, debug, trace
LogLevel = "INFO"

# IP address the server will bind to
Address = "127.0.0.1"

# HTTP port Navidrome will use
Port = "4533"

# Base URL (only the path part) to configure Navidrome behind a proxy (ex: /music)
BaseURL = "/zik"

# How frequently to scan for changes in your music library. Set it to 0 to disable scans
ScanInterval = "90s"

# Size of transcoding cache. Set to 0 to disable cache
TranscodingCacheSize = "150MB"

# Size of image (art work) cache. Set to 0 to disable cache
ImageCacheSize = "100MB"

# Folder to store application data (DB, cache…)
DataFolder = "/var/lib/navidrome"

# Folder where your music library is stored. Can be read-only
#MusicFolder = "/home/yunohost.multimedia/share/Music"
MusicFolder="/var/www/my_webapp/zik"

# Enable the option in the UI to download music/albums/artists/playlists from the server
EnableDownloads = "true"

#Change background image used in the Login page
UILoginBackgroundUrl = ""

# Add a welcome message to the login screen
UIWelcomeMessage = ""

# How long Navidrome will wait before closing web ui idle sessions
SessionTimeout = "24h"

# Set JPEG quality percentage for resized cover art images
CoverJpegQuality = "75"

#Configure the order to look for cover art images. Use special embedded value to get embedded images from the audio files
CoverArtPriority = "embedded, cover.*, folder.*, front.*"

# Match query strings anywhere in searchable fields, not only in word boundaries. Useful for languages where words are not space separated
SearchFullString = "false"

# List of ignored articles when sorting/indexing artists
IgnoredArticles = "The El La Los Las Le Les Os As O A"

# Enable/disable .m3u playlist auto-import
AutoImportPlaylists = "true"

# The default metadata extractor is still ffmpeg but you can use the new taglib extractor
Scanner.Extractor = "taglib"

# Last.FM ApiKey
LastFM.ApiKey = ""

# Last.FM Shared Secret
LastFM.Secret = ""

# Two letter-code for language to be used to retrieve biographies from Last.FM
LastFM.Language = "en"

# Spotify Client ID
Spotify.ID = ""

# Spotify Client Secret
Spotify.Secret = ""

# Use Gravatar images as the user profile image. Needs the user’s email to be filled 
EnableGravatar = "false"

# Animation // FREEZE
#EnableCoverAnimation = “false”

Here is a branch with config panel settings to test.
There is three settings available:

  • Enable cover animation
  • Allow music download
  • Select metadata extractor

To access config panel, upgrade Navidrome

sudo yunohost app upgrade navidrome -u https://github.com/YunoHost-Apps/navidrome_ynh/tree/arch

and then go to admin → applications → Navidrome → config panel

Let me know if you think of other useful settings to integrate.

Désolé pour mon erreur c’est

EnableCoverAnimation = "false"

et non EnableCoverAnimation = “false” comme indiqué dans mon précédent post

@mib
Oups, j’arrive pas à voir la différence entre les 2

EnableCoverAnimation = "false"

@ ericg
Thanx, I do a backup and I’ll try your tips
If I upgrade from git, after, how I do to the next upgrades of navidome ? (I presume not by yunohost tools but in command line)

l’encodage est différent

Les quotes ? J’avais mis les mêmes que celles présentes dans le fichier de conf.
Je ne pense pas que ça vienne de là :wink:

Bilan des courses,
je pense que le soucis vient d’ailleurs car avec la mise à jour du git et l’option suscitée, toujours les mêmes freezes.
De plus des pochettes, pas toutes mais certaines, sont maintenant remplacées par un cd bleu…
Je continue mes recherches

Je me permets d’intervenir.
Vous pourriez installer netdata et consulter la charge cpu, ram, swap, network et voir si quelque chose pourrait orienter.

je l’installerai
Pour l’instant j’ai bpytop qui tourne en toile de fond et qui ne montre qu’une activité plus importante, mais pas exceptionnelle, de navidome en cas de freeze
Il reste pourtant de la RAM et du CPU