LDAP Manager is the cloud-native LDAP web management interface. LDAP has been around for a long time and has become a popular choice for user and group management - however, this should not mean that it's management interface should be hard to deploy and look and feel like it was made in the last century.
LDAP Manager is written in Go and comes with a Vue/Typescript frontend in a single, self-contained docker container. It also exposes it's API over both REST and gRPC!
![]() |
![]() |
![]() |
![]() |
Before you get started, make sure you have an OpenLDAP server like osixia/openldap running. For more information on deployment and a full example, see the deployment guide.
go install github.com/romnn/ldap-manager/cmd/ldap-manager
ldap-manager serve --generate
go run github.com/romnn/ldap-manager/cmd/ldap-manager serve --generate --http-port 8090You can also download pre-built binaries from the
releases page,
or use the docker image:
docker run -p 8080:80 -p 9090:9090 romnn/ldap-manager --generateFor a list of options, run with --help. If you want to deploy OpenLDAP with LDAP Manager, read along.
helm dependency update deployment/helm/charts/ldapmanager/COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose -f deployment/docker-compose.yml upTODO
ldap-manager container individually or use a more performant static content server like nginx, you can disable serving static content using the --no-static (NO_STATIC) flag.Before you get started, make sure you have installed the following tools:
$ python3 -m pip install pre-commit bump2version invoke
$ go install github.com/kyoh86/richgo@latest
$ go install golang.org/x/tools/cmd/goimports@latest
$ go install golang.org/x/lint/golint@latest
$ go install github.com/fzipp/gocyclo/cmd/gocyclo@latestPlease always make sure code checks pass:
inv pre-commitIf you want to (re-)compile the grpc service and gateway .proto source files,
you will need
protocprotoc-gen-goprotoc-gen-go-grpc.protoc-gen-grpc-gatewayprotoc-gen-openapiv2apt install -y protobuf-compiler
brew install protobuf
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latestTo compile the protos, you can use the provided script:
inv compile-protocd deployment/screenshot
yarn install --dev
yarn run screenshotv2
refactor to use manual ldap search only where necessary
use an interface for the main functions of the manager in GRPC server
point out that the goal is user management only
documentation
nice to have
test the grpc and http servers as well
Implement CLI interface
done