Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@AkshayRao27
Copy link

I deployed LLDAP as a Proxmox LXC and got it working with PocketID, so I documented everything I did. Hopefully this helps someone with their setup 😁

AkshayRao27 and others added 2 commits June 3, 2025 12:30
Added instructions for deploying LLDAP as a Proxmox LXC Container based on how I did it.
Added a logging block to `lldap_config.toml`
Added an example configuration for PocketID
@AkshayRao27 AkshayRao27 requested a review from nitnelave as a code owner June 4, 2025 18:32
<img alt="Discord" src="https://img.shields.io/discord/898492935446876200?label=discord&logo=discord" />
</a>

<a href="https://twitter.com/nitnelave1?ref_src=twsrc%5Etfw">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's an... Interesting change :D

WorkingDirectory=/var/lib/lldap
Environment="LLDAP_JWT_SECRET_FILE=/etc/lldap/.secrets/jwt_secret.txt"
Environment="LLDAP_LDAP_USER_PASS_FILE=/etc/lldap/.secrets/admin_pass.txt"
Environment="LLDAP_KEY_SEED=<your-random-key-seed-here>"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use LLDAP_KEY_SEED_FILE for consistency

chmod 644 /var/log/lldap.log
```

* **Edit `/etc/lldap/lldap_config.toml` as follows:**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you instead call out the few values that are relevant? Maybe the DB URL, the certificate paths for LDAPS, and that's pretty much it. The rest should be adapted from the template from this repository, which includes the documentation and doesn't go out of date.

cert_file = "/etc/lldap/ssl/cert.pem"
key_file = "/etc/lldap/ssl/key.pem"

[logging]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The [logging] section doesn't exist. Maybe you were thinking of the serviced file? LLDAP has the top-level "verbose=true" config value, but that's it. It always writes to standard output, it's up to the caller to redirect to a file.

LLDAP configuration file: /usr/local/lldap_server/lldap_config.toml<br>
</details>
<details>
<summary><b>Proxmox LXC using Helper Scripts</b></summary>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This entire section doesn't really belong here. It should be in an example_configs file, and then linked from the readme.

Is everything necessary in this guide? Can we decouple the proxmox instructions from NPMplus and other tools?

Otherwise, it looks like a guide to your specific stack (which is very nice, but maybe more appropriate for a blog post than an official configuration guide)

- A Reverse Proxy
- This example uses an NPMplus LXC Container set up using a [Proxmox VE Helper Scipt](https://community-scripts.github.io/ProxmoxVE/scripts?id=npmplus). NPMplus manages Let's Encrypt Wildcard Certificates
- An email account
- This example uses Yahoo Mail with an already configured Send-Only Email address & app password.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the references to Yahoo don't help. The instructions are applicable regardless of your email provider. The only call-out I would make is to warn that maybe you need an app password, depending on your provider.

| Attribute | Value |
| --------------------------------- | ---------------- |
| User Unique Identifier Attribute | `uuid` |
| Username Attribute | `user_id` |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would recommend using "uid", since some clients can't handle underscores

| User Unique Identifier Attribute | `uuid` |
| Username Attribute | `user_id` |
| User Mail Attribute | `mail` |
| User First Name Attribute | `first_name` |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same, "givenname"

| Username Attribute | `user_id` |
| User Mail Attribute | `mail` |
| User First Name Attribute | `first_name` |
| User Last Name Attribute | `last_name` |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"lastname"

| User Profile Picture Attribute | `avatar` |
| Group Members Attribute | `member` |
| Group Unique Identifier Attribute | `uuid` |
| Group Name Attribute | `cn` |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe "uid" or "displayname" for consistency/clarity? They're all equivalent

@nitnelave nitnelave added the needs-work The PR needs work before getting merged label Aug 6, 2025
@thielj
Copy link
Contributor

thielj commented Aug 28, 2025

@AkshayRao27 - are you aware that there are already LLDAP and PocketID community scripts for a Proxmox LXC setup? If there are any problems with these, it might be worth to fix them:

https://community-scripts.github.io/ProxmoxVE/scripts?id=lldap

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-work The PR needs work before getting merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants