SABnzbd : impossible d'envoyer des NZB

What type of hardware are you using: Virtual machine
What YunoHost version are you running: 12.1.39
How are you able to access your server: The webadmin

Describe your issue

SABnzbd : impossible d’envoyer des NZB

Bonjour à tous !

Je retente ma chance en français : le 23 mars j’ai demandé de l’aide à propos de SABnzbd sur un YunoHost tout neuf qui affichait indéfiniment “Uploading 1…”.

Après avoir laissé de côté toute mon installation YunoHost, j’ai re-tenté ma chance aujourd’hui : j’ai installé toutes les mises à jour système et des applications, dont SABnzbd qui est passé en version 5.0.1.

Désormais, lorsque je fais un glisser-déposer d’un NZB ou quand j’utilise le formulaire “Add NZB”, j’obtiens “Failed to upload file: …”.

Pouvez-vous s’il vous plait m’aider à diagnostiquer et résoudre le problème ?

SABnzbd 5.0.1~ynh1 / YunoHost 12.1.39 / Debian 12 / Proxmox VE 9.1.1

Share relevant logs or error messages

Quels logs puis-je partager ?

[quote=“RomHeu, post:1, topic:42211”]
Quels logs puis-je partager ?
[/quote]

Les journaux du service après un téléversement échoué, ainsi que peut-être les journaux nginx du domaine

Merci @Tho !

Le journal de SABnzbd (/var/log/sabnzbd/sabnzbd.log) n’enregistre rien d’autre que mon authentification réussie, ce qui renvoie effectivement à Nginx.

Le journal d’erreur de Nginx (/var/log/nginx/XXXXX-error.log) quant à lui retourne une erreur relative à la taille du fichier envoyé :

client intended to send too large body: 4XXXXXX bytes

Et en effet, ça fonctionne avec un NZB de 500 ko.

Que faire SVP ?

Quelle est la taille des fichiers ?

Les NZB de 3 ou 4 Mo déclenchent une erreur

Dans la config nginx (/etc/nginx/conf.d/tonsite.tld.d/sabnzbd.conf), place également cette ligne

  client_max_body_size 100M;

dans le premier bloc (location … /api), sur le modèle:

location __PATH__/api {
  # Disable SSO authentication for API access (needed for Radarr, Sonarr, etc.)
  auth_request off;

  proxy_pass http://127.0.0.1:__PORT__;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  client_max_body_size 100M; # <= ajouter cette ligne

Recharge nginx (sudo systemctl reload nginx).
Est-ce que cela change qqch ?

Ça fonctionne, merci !

Mais je ne comprends pas la logique : en accédant à l’interface web, j’aurais pensé passer par location /, PAS par location /api, qu’est-ce qui m’échappe ?

Est-ce qu’il faut remonter le problème aux contributeurs de YunoHost pour qu’ils puissent apporter un correctif pérenne ? Comment ?

Prochaine étape : comment configurer et utiliser Samba pour accéder au dossier de téléchargement de SABnzbd en respectant au maximum la logique YunoHost ?

Y a-t-il une documentation YunoHost concernant la mise en œuvre de Samba par YunoHost ? Ou plus généralement une documentation YunoHost pour les applications du catalogue YunoHost, avec parfois quelques subtilités sur leur mise en œuvre pour YunoHost ?

Car j’ai plusieurs questions sans réponse :

  • J’atteins bien mon serveur via \\YUNOHOST ou \\, mais si j’utilise le même mot de passe que pour accéder à l’interface Web, j’obtiens un refus que j’utilise l’identifiant prenom ou prenom@domaine.tld. Quelle combinaison faut-il utiliser ?
  • Dans l’interface web d’administration de YunoHost > Applications > Samba, je trouve un champ “List of shared directories” contenant “share” et une phrase disant “You will be able to define which user can access to each directory on Manage groups and permissions page.”, mais en me rendant sur cette page je n’ai pas compris si j’allais pouvoir accéder à /home/yunohost.app/sabnzbd/complete, qui appartient à l’utilisateur sabnzbd:sabnzbd avec des droits 770, et si oui comment

Pouvez-vous m’éclairer SVP ?

Il y a sur le dépôt une version testing avec des modifications traitant plusieurs des problèmes rencontrés avec l’application samba (droits, création des dossiers).
Pour mettre à jour avec cette version : yunohost app upgrade samba -u https://github.com/YunoHost-Apps/samba_ynh/tree/testing

Via la webUI les partages sont uniquement créés dans le dossier /home/yunohost.app/samba

Pour faire suite:
La doc de la version testing indique

Already existing users, including admin, need to reset their passwords to access Samba.

Le plus simple ensuite si tu veux mettre en partage le dossier /home/yunohost.app/sabnzbd/complete:

  1. Créer le partage de départ via la webadmin samba.
    Ajouter un tag ‘sabnzbd’ et sauvegarder. Pour le moment cela crée un partage sabnzbd dans le dossier /home/yunohost.app/samba: il faut donc modifier cela.

  2. Modifier le chemin du dossier partagé et le groupe ayant accès au partage. En ligne de comlmande :
    nano /etc/samba/smb.conf.d/sabnzbd.conf
    => Remplacer

   path = /home/yunohost.app/samba/sabnzbd
# (...)
   valid users = @samba.sabnzbd

par

   path = /home/yunohost.app/sabnzbd/complete
# (...)
   valid users = @samba.share
  1. Faire la même modification dans /etc/samba/smb.conf pour le bloc [sabnzbd]
  2. Donner les droits au groupe samba.share sur le dossier /home/yunohost.app/sabnzbd/complete et ses sous-dossiers (des droits de lecture)
    setfacl -R -m g:samba.share:rx,d:g:samba.share:rx /home/yunohost.app/sabnzbd/complete/
  3. Redémarrer samba: systemctl restart samba
    Le partage devrait fonctionner mais il faut parfois relancer la connexion de 0.

L’inconvénient est que les membres du groupe samba.share ont accès au dossier share et au dossier sabnzbd/complete. Ce serait mieux d’isoler et c’est ce que fait par défaut le script config quand on ajoute un partage (un groupe est créé par partage). Le hic, c’est que les groupes créés ne survivent pas à un upgrade par exemple.