Jingo LDAP problem



  • Hi, I installed Jingo, it runs fine. When I edit the config.yaml in /data through the terminal and then restart the app, the settings are applied. However, when I log out and then want to log back in, I get Cloudron's "something went wrong" error page. In the logs, I see:

    May 12 20:56:40 Generating config file
    May 12 20:56:41 Starting jingo
    May 12 20:56:41 Sun May 12 2019 20:56:41 GMT+0000 (UTC) - Jingo server v1.8.5 listening on port 6067
    May 12 20:56:44 /app/code/node_modules/ldapjs/lib/url.js:16
    May 12 20:56:44 throw new TypeError(urlStr + ' is an invalid LDAP url (protocol)');
    May 12 20:56:44 ^
    May 12 20:56:44
    May 12 20:56:44 TypeError: ##LDAP_URL is an invalid LDAP url (protocol)

    When I remove the config file, I can log in without problems. I have repeated this process a few times and cannot get over it. It seems like a problem with the config rewrite on cloudron's side.

    Thanks. T.



  • Hi @tadeas,

    I am not really familiar with Jingo but you probably get more helpful replies if you include a copy of your changed config.yaml in your post.



  • Thanks. The way you can replicate it is this: set up jingo instance - login works. Open terminal, copy config.yaml.template from /code/ into data/config.yaml then restart app - login doesn't work. Remove config.yaml, restart app - login works.

    Should I be changing the LDAP settings manually? I think not. In the template config.yaml, there is this:

    ldap:
    enabled: true
    url: "##LDAP_URL"
    bindDn: "##LDAP_BIND_DN"
    bindCredentials: "##LDAP_BIND_PASSWORD"
    searchBase: "##LDAP_USERS_BASE_DN"
    searchFilter: "(|(username={{username}})(mail={{username}}))"

    I thought that the ## parts are replaced by cloudron automatically when app is restarted? That doesn't seem to be happening.

    Thanks. T.



  • Hi there. The config file handling in then jingo app package can be seen at https://git.cloudron.io/cloudron/jingo-app/blob/master/start.sh#L18
    So the main config file from the template will get generated by Cloudron on every restart. That one already includes the ldap settings. The one for customizations is /app/data/config.yaml which, as far as I understand, allows to override settings from the main config file. What that means is, that you should be able to only put the custom values you want to override into that file, not all the options.



  • OK, thanks. So the problem was that I needed to put only but no less than the -sections- with the changed settings into the config file.


Log in to reply