example_configs/podman-quadlets/readme.md
The following assumes you have a working Podman installation and that you want to install lldap as a user service.
It will create a systemd service for each of the quadlet files. As the files are supplied, the resulting services are:
Starting lldap.service and lldap-db.service always creates a fresh container. Stopping destroys the container.
Stopping the volume or network service does not destroy the associated volume or network.
If you want to customize the network, we suggest uncommenting the NetworkDeleteOnStop line in the network file before starting the lldap service for the first time. Once you have done so, stopping the network's services will allow you to modify the network properties. Otherwise, you must remove the network(s) manually with Podman. If you erase the volume, you will loose your database of users and will need to bootstrap lldap again.
Starting lldap.service will start all the other services, but stopping it will not stop the other services.
lldap-db.container, lldap.container, lldap-db.volume, lldap-frontend.network, and lldap-backend.network to ~/.config/containers/systemd/Environment=LLDAP_LDAP_BASE_DN=dc=example,dc=com in lldap.container to match your domain name.
lldap-jwt-secret, lldap-key-seed, and lldap-ldap-user-pass.
$ LC_ALL=C tr -dc 'A-Za-z0-9!#%&'\''()*+,-./:;<=>?@[\\]^_{|}~' </dev/urandom | head -c 32 | podman secret create lldap-jwt-secret -
$ LC_ALL=C tr -dc 'A-Za-z0-9!#%&'\''()*+,-./:;<=>?@[\\]^_{|}~' </dev/urandom | head -c 32 | podman secret create lldap-key-seed -
$ echo 'your-admin-password' | podman secret create lldap-ldap-user-pass -
podman secret inspect <name of the secret> --showsecret. The value of the secret is in the output's "SecretData" field. $ systemctl --user daemon-reload
$ systemctl --user start lldap
$ systemctl --user status lldap
$ systemctl --user stop lldap
~/containers/lldap.lldap.container regarding the bootstrap process.$ systemctl --user daemon-reload
$ systemctl --user start lldap
bootstrap.sh:
$ podman exec -ti lldap bash
$ ./bootstrap.sh
Network=lldap-frontend.network in its quadlet file and making the necessary adjustments to the server configs.PublishPort=127.0.0.1:17170:17170 will make the default port that LLDAP binds to inside the container available from the outside.