2017-09-09 17:54:45 +02:00
|
|
|
## slapd
|
|
|
|
Slapd offers a LDAP server, which we mostly use for authentication of various
|
|
|
|
services.
|
|
|
|
Therefore, a lot of services have a direct (or indirect) dependency on this
|
|
|
|
image.
|
|
|
|
|
2019-05-15 18:28:41 +02:00
|
|
|
### Getting the image
|
|
|
|
This image is automatically build and pushed to the docker hub. Therefore
|
|
|
|
getting the image should be as easy as running
|
|
|
|
|
|
|
|
```
|
|
|
|
docker pull zombi/ldap
|
|
|
|
```
|
|
|
|
|
2017-09-09 17:54:45 +02:00
|
|
|
### Building slapd
|
2019-05-15 18:28:41 +02:00
|
|
|
It is also possible to manually build this image from this repository.
|
2017-09-09 17:54:45 +02:00
|
|
|
|
|
|
|
```
|
2019-04-18 20:59:51 +02:00
|
|
|
docker build -t zombi/ldap .
|
2017-09-09 17:54:45 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
### Running slapd
|
|
|
|
|
2019-04-18 20:59:51 +02:00
|
|
|
Copy over example configuration
|
|
|
|
|
|
|
|
```bash
|
|
|
|
cp docker-compose.yml{.example,}
|
|
|
|
```
|
|
|
|
|
|
|
|
run the service
|
|
|
|
|
2017-09-09 17:54:45 +02:00
|
|
|
```
|
2019-04-18 20:59:51 +02:00
|
|
|
docker-compose up -d
|
2017-09-09 17:54:45 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
### Backing up data
|
2019-05-15 18:28:41 +02:00
|
|
|
State stored in this container is essential to many other services, that
|
|
|
|
use authentication and authorization. Therefore you should think about
|
|
|
|
backing up the LDAP database in regular intervals.
|
2017-09-09 17:54:45 +02:00
|
|
|
|
2019-05-15 18:28:41 +02:00
|
|
|
**simply copying all the data from `data` MAY NOT WORK**, as there could
|
|
|
|
be race conditions leading to database corruption during the backup.
|
|
|
|
The recommended way is to use the included script for backing up the database
|
|
|
|
into a compact .ldif plain text file.
|
2017-09-09 17:54:45 +02:00
|
|
|
|
2019-05-15 18:28:41 +02:00
|
|
|
running `contrib/create-ldap-backup.sh` will create two files:
|
2017-09-09 17:54:45 +02:00
|
|
|
* `conf.ldif` is a backup of the configuration.
|
|
|
|
* `data.ldif` contains all the saved datasets.
|