LDAP Selfservice Password Changer
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.
Running
Natively
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
Docker
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
Developing
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
License
LDAP Selfservice Password Changer is licensed under the MIT license, for more information please refer to the included LICENSE file.
Contributing
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.