LDAP Selfservice Password Changer is a web frontend and JSON RPC API for allowing your users to change their own passwords in your LDAP or ActiveDirectory server.
If you want to run this service without a Docker container, you have to build it yourself.
Prerequisites:
- Go 1.20+
- Node.js v16+
- Corepack (
npm i -g corepack
)
You can configure this via a .env.local
file or via command options (for more information you can run ./ldap-selfservice-password-changer --help
).
corepack enable
pnpm i
pnpm build
./ldap-selfservice-password-changer \
`# You can also configure these via environment variables,` \
`# please see the .env file for available options.` \
-ldap-server ldaps://dc1.example.com:636 -active-directory \
-readonly-password readonly -readonly-user readonly \
-base-dn DC=example,DC=com
We have a Docker image available here.
You can ignore the warning that the service could not load a .env
file.
docker run \
`# Run the password-changer container detached from the current terminal` \
-d --name ldap-password-changer \
`# You might want to mount your host SSL certificate directory,` \
`# if you have a self-signed certificate for your LDAPS connection` \
-v /etc/ssl/certs:/etc/ssl/certs:ro \
-p 3000:3000 \
ghcr.io/netresearch/ldap-selfservice-password-changer \
`# You can also configure these via environment variables,` \
`# please see the .env file for available options.` \
-ldap-server ldaps://dc1.example.com:636 -active-directory \
-readonly-password readonly -readonly-user readonly \
-base-dn DC=example,DC=com
Prerequisites:
- Go 1.20+
- Node.js v16+
- Corepack (
npm i -g corepack
)
corepack enable
# Install dependencies
pnpm i
touch .env.local
# Edit the `.env.local` to include the arguments, you want to give to the application.
# Required are:
# - LDAP_SERVER
# - LDAP_BASE_DN
# - LDAP_READONLY_USER
# - LDAP_READONLY_PASSWORD
# Running normally
pnpm start
# Running in dev mode
# This will restart the application every time, you make
# a change.
pnpm dev
LDAP Selfservice Password Changer is licensed under the MIT license, for more information please refer to the included LICENSE file.
Feel free to contribute by creating a Pull Request!
This project uses Conventional Commits for commit messages and the default gofmt
and prettier
formatting rules.