LDAP: Credential Window Missing

New installation, using ldap (tcp/389). After the container comes up I can reach the web-interface, but there are no input boxes for username and password. If I take out the ldap configuration from the .env file, the input boxes return; I suspect it's related to my ldap configuration. I can't post a picture, due to work security rules. I'll try to relate my config as best as possible:
AUTH_PROVIDER="ldap"
AUTH_LDAP_URI="ldap://<server_ip>:389"
AUTH_LDAP_BIND_DN="uid=<username>,ou=<sec_group>,ou=<svc_acct_group>,dc=<our_domain>,dc=<upperdomain>,dc=<upperdomain>"
AUTH_LDAP_BIND_PASSWORD="<password>"
AUTH_LDAP_BASE="dc=<our_domain>,dc=<upperdomain>,dc=<upperdomain>"
AUTH_LDAP_OWNER_GROUP="<admin_groupname>"
AUTH_LDAP_ADMIN_GROUP="<admin_groupname>"
AUTH_PROVIDER="ldap"
AUTH_LDAP_URI="ldap://<server_ip>:389"
AUTH_LDAP_BIND_DN="uid=<username>,ou=<sec_group>,ou=<svc_acct_group>,dc=<our_domain>,dc=<upperdomain>,dc=<upperdomain>"
AUTH_LDAP_BIND_PASSWORD="<password>"
AUTH_LDAP_BASE="dc=<our_domain>,dc=<upperdomain>,dc=<upperdomain>"
AUTH_LDAP_OWNER_GROUP="<admin_groupname>"
AUTH_LDAP_ADMIN_GROUP="<admin_groupname>"
Ubuntu 20.04 Homarr version: 0.15.0 Attempted using firefox and chrome Log messages are pretty bland. Says "listening on <name>:7575"
Solution:
So using ":" instead of "=" works? With ldap as well? (not talking about actively logging in, just if the form shows, just like this)
No description
Jump to solution
79 Replies
Cakey Bot
Cakey Bot4mo ago
Thank you for submitting a support request. Depending on the volume of requests, our team should get in contact with you shortly.
⚠️ Please include the following details in your post or we may reject your request without further comment: - Log (See https://homarr.dev/docs/community/faq#how-do-i-open-the-console--log) - Operating system (Unraid, TrueNAS, Ubuntu, ...) - Exact Homarr version (eg. 0.15.0, not latest) - Configuration (eg. docker-compose, screenshot or similar. Use ``your-text`` to format) - Other relevant information (eg. your devices, your browser, ...)
❓ Frequently Asked Questions | Homarr documentation
Can I install Homarr on a Raspberry Pi?
Manicraft1001
Manicraft10014mo ago
Hi, thanks for your support request. @Meierschlumpf can you look into this?
Meierschlumpf
Meierschlumpf3mo ago
@nerdferguson It's strange that it does not work for you, as for me it's working as intended when defining your env variables:
No description
Meierschlumpf
Meierschlumpf3mo ago
Can you send a screenshot of your login screen?
nerdferguson
nerdferguson3mo ago
I can’t, unfortunately.
Manicraft1001
Manicraft10013mo ago
How does your screen differ? Only the button missing?
nerdferguson
nerdferguson3mo ago
No username or password input, submit button, or the text below it. So far, my bet is that it had something to do with the Active Directory structure I’m working with.
Manicraft1001
Manicraft10013mo ago
But you do see the login page? Or is it not rendering at all?
nerdferguson
nerdferguson3mo ago
There is a login page, but it only gets to “welcome back! Please enter your credentials.” It even loads the css box where those words are, there’s just no room for the input boxes.
ajnart
ajnart3mo ago
I'm not exactly sure how to help you @nerdferguson , so you are trying to log-in to the homarr login page with ldap but the input for username and password are missing somehow ? I'm not even sure if they are displayed conditionally in the code
nerdferguson
nerdferguson3mo ago
Yes. This is correct.
Manicraft1001
Manicraft10013mo ago
Have you tried to use lowercase values for the provider?
nerdferguson
nerdferguson3mo ago
i'll try that today
Smudgerling
Smudgerling3mo ago
I have the same issue. Nothing in the logs. Hosted on unRaid using LLDAP for LDAP. Don't want to piggy-back on to the issue but I was in a position to add a screenshot so thought I'd share.
No description
Manicraft1001
Manicraft10013mo ago
@Smudgerling please post your config (screenshot of unraid app)
Smudgerling
Smudgerling3mo ago
version: '3' #---------------------------------------------------------------------# # Homarr - A simple, yet powerful dashboard for your server. # #---------------------------------------------------------------------# services: homarr: container_name: homarr image: ghcr.io/ajnart/homarr:latest restart: unless-stopped environment: - TZ=Europe/London - AUTH_PROVIDER="ldap" volumes: - /mnt/disks/nvmedata/appdata/docker/Homarr/configs/:/app/data/configs - /mnt/disks/nvmedata/appdata/docker/Homarr/data/:/data - /mnt/disks/nvmedata/appdata/docker/Homarr/icons/:/app/public/icons - /mnt/disks/nvmedata/appdata/docker/Homarr/imgs/:/app/public/imgs ports: - '7575:7575' AUTH_LDAP_URI="ldap://[ip:port]" AUTH_LDAP_BASE="dc=home,dc=domain,dc=name" AUTH_LDAP_BIND_DN="uid=admin,ou=people,dc=home,dc=domain,dc=name" AUTH_LDAP_BIND_PASSWORD="[password]" AUTH_LDAP_USERNAME_ATTRIBUTE="name" AUTH_LDAP_GROUP_CLASS="groupOfUniqueNames" AUTH_LDAP_GROUP_MEMBER_ATTRIBUTE="member" AUTH_LDAP_GROUP_MEMBER_USER_ATTRIBUTE="dn" AUTH_LDAP_ADMIN_GROUP="admins" AUTH_LDAP_OWNER_GROUP="lldap_admin" I think I may have just spotted my error
Manicraft1001
Manicraft10013mo ago
Can you try AUTH_PROVIDER="credentials,ldap"
Smudgerling
Smudgerling3mo ago
I haven't called the env file Made no difference calling it anyway, I'll try adding credentials...
Manicraft1001
Manicraft10013mo ago
Looking at the code, you must pass both (makes sense? LDAP requires name & pw so this was probably the idea behind this decision)
Smudgerling
Smudgerling3mo ago
Still no joy.
Tag
Tag3mo ago
Have you tried putting your environment variables in the "environment" section instead of a separate .env file?
Smudgerling
Smudgerling3mo ago
Just re-composed with it all included and the same happens.
Manicraft1001
Manicraft10013mo ago
@Tag I would say that hasCredentialsInput is falsely, providers.includes('oidc') is false and oidcAutoLogin is falsely. Hence nothing is shown, do you agree? I just don't see yet why that would be.
Tag
Tag3mo ago
Oh wait you're using LLDAP, that means you shouldn't even need to change any of the variables as they are the default. Try only changing "AUTH_LDAP_URI", "AUTH_LDAP_BIND_BN", "AUTH_LDAP_BIND_PASSWORD" and "AUTH_LDAP_BASE" I'll retry setting things up on my end. I did try it all before the merge and everything was working but I'll check again Actually maybe AUTH_LDAP_ADMIN_GROUP="lldap_admin" too, but that shouldn't hinder the functionnality of the login page so unimportant for now
Smudgerling
Smudgerling3mo ago
Still the same for me unfortunately.
Tag
Tag3mo ago
I just noticed your Base_dn might be incorrect? Why do you have 3 dc's? As the base you shouldn't have more than 2, domain and TLD, subdomain shouldn't be there Ldap can be a pain to set up tbf I just confirmed locally, you can setup ldap alone, but if a variable is set incorrectly, ldap won't respond and thus no login form will show
Smudgerling
Smudgerling3mo ago
3 dcs is fine I think. I have other apps using it with same setup anyway. I'll install an LDAP browser and copy the paths straight from the directory itself and see what happens then.
Tag
Tag3mo ago
Hailmary, do you have the NEXTAUTH_URL env variable setup?
Smudgerling
Smudgerling3mo ago
No, do I need one?
Tag
Tag3mo ago
Set it to your homarr address It has proven to bug out in other instances
Smudgerling
Smudgerling3mo ago
Now I just get Internal Server Error
Tag
Tag3mo ago
You put it in the format "https://address" or "http://ip:port"?
Smudgerling
Smudgerling3mo ago
Ah I didn't put the protocol
Tag
Tag3mo ago
Forgot to be precise, my fault
Smudgerling
Smudgerling3mo ago
Not at all buddy I've tried it with reverse proxy https://domain.name and local http://ip:port. Same Internal Error
Tag
Tag3mo ago
If you use https, you have to include subdomain, not just domain.name. so "https://homarr.domain.name". Is that what you did?
Smudgerling
Smudgerling3mo ago
Homarr points to top level as t's my landing at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1571:16) { ........shows in the log
Tag
Tag3mo ago
Ah ok, nvm then I'm a bit of at a loss because actually I can't reproduce the problem, either on my dev or production deployments Even when I setup ldap incorrectly, it'll still show the login page. Just won't let me sign in
Smudgerling
Smudgerling3mo ago
I like to be different 😅 Really appreciate the efforts though.
Tag
Tag3mo ago
I think I'm onto something maybe. The only time I'm able to have that same screen is when I set AUTH_PROVIDER to something incorrect I'm not sure if that's how docker compose work, but could you change from "ldap" to just ldap, without the quote marks? Also, in docker compose, you should not use "=" but ":" it seems. Like I said I don't know much on that front but that might be it. If you include auth_provider but don't give it a value, it'll do that too.
Smudgerling
Smudgerling3mo ago
No description
Smudgerling
Smudgerling3mo ago
Colour me impressed!
Tag
Tag3mo ago
Let's goooooo Such a minute detail, no wonder it took us so long
Smudgerling
Smudgerling3mo ago
Super grateful for the support, and for the continued development of Homarr. You guys are awesome.
Tag
Tag3mo ago
In hopes that this also helps @nerdferguson which seemed to have the same issue. It seems no matter your ldap configuration, the page should show in full as long as the AUTH_PROVIDER environment variable is set correctly. Not showing any input for login is a sign that the auth_provider is not selecting anything. Even if ldap is setup wrong, it'll just not accept to log you in, but the form should still appear.
nerdferguson
nerdferguson3mo ago
bad news: I'm already using lowercase values for the provider.
Smudgerling
Smudgerling3mo ago
Sent over a wee donation, have a coffee on me.
Manicraft1001
Manicraft10013mo ago
Awesome! Glad that we were able to figure this one out 😄
nerdferguson
nerdferguson3mo ago
negatory ghost rider. I'm still sitting at a screen w/out login ability. yes
Tag
Tag3mo ago
Does it look like this?
No description
Tag
Tag3mo ago
Ok, so that most likely mean that AUTH_provider is wrong somehow
nerdferguson
nerdferguson3mo ago
Yeah, looks just like that. Currently for AUTH_provider I have "credentials,ldap"
Tag
Tag3mo ago
If you set it to only "credentials", do you have anything? Because you said that if you remove it, you do have the normal credentials page. Meaning that if you set it to the default value, and it doesn't appear, then the way you're setting up the value is incorrect
nerdferguson
nerdferguson3mo ago
currently configured as: AUTH_PROVIDER='credentials' window currently looks like this
Manicraft1001
Manicraft10013mo ago
Maybe try double quotes: "
nerdferguson
nerdferguson3mo ago
kept LDAP config below
Tag
Tag3mo ago
The ldap config doesn't matter for the login page. It'll only matter for actively logging in when it queries your ldap server. The page is really simple actually
const hasCredentialsInput = providers.includes('credentials') || providers.includes('ldap');
const hasCredentialsInput = providers.includes('credentials') || providers.includes('ldap');
As long as the environment variable is set correctly, it'll show the form, not matter what. @Manicraft1001 maybe we should add a log to explicitly say what that environment variable is set to on startup? Maybe throw an error if it doesn't fit or is empty?
Manicraft1001
Manicraft10013mo ago
Yes, please do so 👍
nerdferguson
nerdferguson3mo ago
ok, so here's a possibly pertinent question passwords obviously there has to be some characters that the system doesn't like for instance % & !
Tag
Tag3mo ago
You think some characters are invalidating the whole .env file? As I said, your ldap setup can be completely wrong, it would still show the form. You can try to set password to "test" if you want to
nerdferguson
nerdferguson3mo ago
okay, I don't get it man I've deleted the folder for the files totally rebuilt the app with an .env file that only says AUTH_PROVIDER="credentials"
Smudgerling
Smudgerling3mo ago
I switched all mine over to this format: AUTH_PROVIDER: ldap Not sure if it will be the same issue for you? Same in the .env file
nerdferguson
nerdferguson3mo ago
using colons instead of equals and no quotes?
Smudgerling
Smudgerling3mo ago
Yeah. I swapped all mine to that notation and it worked. environment: TZ: Europe/London AUTH_PROVIDER: ldap
nerdferguson
nerdferguson3mo ago
oh, like a yang file
Smudgerling
Smudgerling3mo ago
I'm using unRaid so easier to do it in Stack/Compose/YAML format for me.
nerdferguson
nerdferguson3mo ago
good news that at least brought back the window none of the logins work, but that's a different issue.
Solution
Tag
Tag3mo ago
So using ":" instead of "=" works? With ldap as well? (not talking about actively logging in, just if the form shows, just like this)
No description
nerdferguson
nerdferguson3mo ago
yes
Tag
Tag3mo ago
That's wonderful, is this all resolved then?
nerdferguson
nerdferguson3mo ago
Yup. Now I just get to troubleshoot AD 😭 thanks guys
HomerCH
HomerCH3mo ago
Man, you just rock. Took me 2 h. I think it would be best that updating the Documentation should be a priority?
Manicraft1001
Manicraft10013mo ago
You can submit an update yourself if you're comfortable with Markdown: https://github.com/homarr-labs/documentation
GitHub
GitHub - homarr-labs/documentation
Contribute to homarr-labs/documentation development by creating an account on GitHub.
HomerCH
HomerCH3mo ago
I will try, thanks!
HomerCH
HomerCH3mo ago
No description
HomerCH
HomerCH3mo ago
Also, because I just realized, my name really is Homer (I am Greek), no relation to the app 🤣 I now think that in compose only the provider needs to be unquoted, will try now... (was getting : ERROR Cannot read properties of undefined (reading 'dn')) Nope, still getting ERROR Cannot read properties of undefined (reading 'dn') Does anyone know anything about this error? Cannot read properties of undefined (reading 'dn')
Meierschlumpf
Meierschlumpf3mo ago
https://github.com/ajnart/homarr/issues/1925 There is an issue open for that on Github
GitHub
LDAP: Cannot read properties of undefined (reading 'dn') · Issue #1...
Environment Docker Version 1.1.0 Describe the problem Hi, I've deployed the Kubernetes version from https://oben01.github.io/charts/charts/homarr/ but when I'm trying to login on the ui usi...