Is a bug ? Nextcloud AIO — User limit silently capped at 100 with LDAP/AD

Version: Nextcloud AIO 13.x / Nextcloud 33.0.3
Composant: aio.config.php / LDAP user sync


SymptĂŽme

AprĂšs configuration LDAP/Active Directory sur Nextcloud AIO, seulement 100 utilisateurs apparaissent dans Nextcloud malgrĂ© un AD contenant plusieurs centaines de comptes. La connexion LDAP fonctionne, le filtre est correct, le paging est Ă  2000 — mais impossible de dĂ©passer 100 utilisateurs synchronisĂ©s.


Cause

Le fichier /var/www/html/config/aio.config.php contient une limite silencieuse :

‘one-click-instance.user-limit’ => 100,

Ce fichier est gĂ©rĂ© par AIO et Ă©crase la valeur dĂ©finie dans config.php (qui peut ĂȘtre Ă  2000). Il n’y a aucun avertissement visible dans l’interface ou les logs.

PiÚge supplémentaire : la commande php occ config:list affiche bien la valeur 100 mais php occ config:system:set ne peut pas la modifier car elle est définie dans aio.config.php et non en base de données.


Solution

Modifier directement aio.config.php :

docker exec nextcloud-aio-nextcloud \
    sed -i "s/'one-click-instance.user-limit' => 100/'one-click-instance.user-limit' => 10000/" \
    /var/www/html/config/aio.config.php

# Vérifier
docker exec nextcloud-aio-nextcloud \
    cat /var/www/html/config/aio.config.php

Puis relancer la synchronisation LDAP :

# Récupérer l'ID du job Sync
docker exec -u www-data nextcloud-aio-nextcloud \
    php occ background-job:list | grep -i "Sync"

# Lancer le job (remplacer XXXX par l'ID)
docker exec -u www-data nextcloud-aio-nextcloud \
    php occ background-job:execute XXXX

Diagnostic complet si vous avez le mĂȘme problĂšme

  1. Vérifier la limite active :
docker exec -u www-data nextcloud-aio-nextcloud \
    php occ config:list | grep "user-limit"
  1. Identifier le fichier source :
docker exec nextcloud-aio-nextcloud \
    grep -r "user-limit" /var/www/html/config/
  1. Compter les vrais utilisateurs en base :
docker exec -it nextcloud-aio-database \
    psql -U oc_nextcloud -d nextcloud_database -c \
    "SELECT COUNT(*) FROM oc_accounts;"

Note complĂ©mentaire — OUs multiples dans AD

Si vos utilisateurs AD sont répartis dans plusieurs sous-OUs, Nextcloud ne les découvre pas automatiquement. Il faut lister toutes les OUs dans ldapBaseUsers séparées par des points-virgules :

docker exec -u www-data nextcloud-aio-nextcloud \
    php occ ldap:set-config s01 ldapBaseUsers \
    'OU=service1,OU=DOMAINE,DC=entreprise,DC=fr;OU=service2,OU=DOMAINE,DC=entreprise,DC=fr'

Environnement

  • Nextcloud AIO 13.x
  • Nextcloud 33.0.3
  • Docker sur Debian 12
  • Active Directory Windows Server 2019/2022