Skip to content

Commit c6fa57f

Browse files
committed
Merge branch 'hotfix-0.6.8' into stable
2 parents a9a739a + 9dec239 commit c6fa57f

File tree

7 files changed

+67
-50
lines changed

7 files changed

+67
-50
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Changelog
22

3+
## 0.6.8
4+
- Upgrade baseimage: web-baseimage:0.1.9
5+
36
## 0.6.7
47
- Upgrade baseimage: web-baseimage:0.1.8
58

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
NAME = osixia/phpldapadmin
2-
VERSION = 0.6.7
2+
VERSION = 0.6.8
33

44
.PHONY: all build build-nocache test tag_latest release
55

README.md

Lines changed: 34 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
# osixia/phpldapadmin
22

3-
[![](https://badge.imagelayers.io/osixia/phpldapadmin:latest.svg)](https://imagelayers.io/?images=osixia/phpldapadmin:latest 'Get your own badge on imagelayers.io') | Latest release: 0.6.7 - [Changelog](CHANGELOG.md) | [Docker Hub](https://hub.docker.com/r/osixia/phpldapadmin/) 
3+
[![Docker Pulls](https://img.shields.io/docker/pulls/osixia/phpldapadmin.svg)][hub]
4+
[![Docker Stars](https://img.shields.io/docker/stars/osixia/phpldapadmin.svg)][hub]
5+
[![Image Size](https://img.shields.io/imagelayers/image-size/osixia/phpldapadmin/latest.svg)](https://imagelayers.io/?images=osixia/phpldapadmin:latest)
6+
[![Image Layers](https://img.shields.io/imagelayers/layers/osixia/phpldapadmin/latest.svg)](https://imagelayers.io/?images=osixia/phpldapadmin:latest)
7+
8+
[hub]: https://hub.docker.com/r/osixia/phpldapadmin/
9+
10+
Latest release: 0.6.8 - phpLDAPadlin 1.2.3 (with php5.5 patch) - [Changelog](CHANGELOG.md) | [Docker Hub](https://hub.docker.com/r/osixia/phpldapadmin/) 
411

512
A docker image to run phpLDAPadmin.
613
> [phpldapadmin.sourceforge.net](http://phpldapadmin.sourceforge.net)
@@ -13,14 +20,15 @@ A docker image to run phpLDAPadmin.
1320
- [Use autogenerated certificate](#use-autogenerated-certificate)
1421
- [Use your own certificate](#use-your-own-certificate)
1522
- [Disable HTTPS](#disable-https)
23+
- [Fix docker mounted file problems](#fix-docker-mounted-file-problems)
1624
- [Debug](#debug)
1725
- [Environment Variables](#environment-variables)
1826
- [Set your own environment variables](#set-your-own environment-variables)
1927
- [Use command line argument](#use-command-line-argument)
2028
- [Link environment file](#link-environment-file)
2129
- [Make your own image or extend this image](#make-your-own image-or-extend-this-image)
2230
- [Advanced User Guide](#advanced-user-guide)
23-
- [Extend osixia/phpldapadmin:0.6.7 image](#extend-osixiaphpldapadmin067-image)
31+
- [Extend osixia/phpldapadmin:0.6.8 image](#extend-osixiaphpldapadmin068-image)
2432
- [Make your own phpLDAPadmin image](#make-your-own-phpldapadmin-image)
2533
- [Tests](#tests)
2634
- [Kubernetes](#kubernetes)
@@ -33,7 +41,7 @@ Run a phpLDAPadmin docker image by replacing `ldap.example.com` with your ldap h
3341

3442
docker run -p 6443:443 \
3543
--env PHPLDAPADMIN_LDAP_HOSTS=ldap.example.com \
36-
--detach osixia/phpldapadmin:0.6.7
44+
--detach osixia/phpldapadmin:0.6.8
3745

3846
That's it :) you can access phpLDAPadmin on [https://localhost:6443](https://localhost:6443)
3947

@@ -42,16 +50,11 @@ That's it :) you can access phpLDAPadmin on [https://localhost:6443](https://loc
4250
Example script:
4351

4452
#!/bin/bash -e
53+
docker run --name ldap-service --hostname ldap-service --detach osixia/openldap:1.1.1
4554

46-
# Run a ldap server, save the container id in LDAP_CID and get its IP:
47-
LDAP_CID=$(docker run --hostname ldap.example.org --detach osixia/openldap:1.1.0)
48-
LDAP_IP=$(docker inspect -f "{{ .NetworkSettings.IPAddress }}" $LDAP_CID)
55+
docker run --name phpldapadmin-service --hostname phpldapadmin-service --link ldap-service:ldap-host --env PHPLDAPADMIN_LDAP_HOSTS=ldap-host --detach osixia/phpldapadmin:0.6.8
4956

50-
# Run phpLDAPadmin and set ldap host to ldap ip
51-
PHPLDAP_CID=$(docker run --hostname phpldapadmin.example.org --env PHPLDAPADMIN_LDAP_HOSTS=$LDAP_IP --detach osixia/phpldapadmin:0.6.7)
52-
53-
# We get phpLDAPadmin container ip
54-
PHPLDAP_IP=$(docker inspect -f "{{ .NetworkSettings.IPAddress }}" $PHPLDAP_CID)
57+
PHPLDAP_IP=$(docker inspect -f "{{ .NetworkSettings.IPAddress }}" phpldapadmin-service)
5558

5659
echo "Go to: https://$PHPLDAP_IP"
5760
echo "Login DN: cn=admin,dc=example,dc=org"
@@ -66,7 +69,7 @@ but setting your own config.php is possible. 2 options:
6669

6770
- Link your config file at run time to `/container/service/phpldapadmin/assets/config.php` :
6871

69-
docker run --volume /data/my-config.php:/container/service/phpldapadmin/assets/config.php --detach osixia/phpldapadmin:0.6.7
72+
docker run --volume /data/my-config.php:/container/service/phpldapadmin/assets/config.php --detach osixia/phpldapadmin:0.6.8
7073

7174
- Add your config file by extending or cloning this image, please refer to the [Advanced User Guide](#advanced-user-guide)
7275

@@ -75,7 +78,7 @@ but setting your own config.php is possible. 2 options:
7578
#### Use autogenerated certificate
7679
By default HTTPS is enable, a certificate is created with the container hostname (it can be set by docker run --hostname option eg: phpldapadmin.my-company.com).
7780

78-
docker run --hostname phpldapadmin.my-company.com --detach osixia/phpldapadmin:0.6.7
81+
docker run --hostname phpldapadmin.my-company.com --detach osixia/phpldapadmin:0.6.8
7982

8083
#### Use your own certificate
8184

@@ -85,14 +88,22 @@ You can set your custom certificate at run time, by mounting a directory contain
8588
--env PHPLDAPADMIN_HTTPS_CRT_FILENAME=my-cert.crt \
8689
--env PHPLDAPADMIN_HTTPS_KEY_FILENAME=my-cert.key \
8790
--env PHPLDAPADMIN_HTTPS_CA_CRT_FILENAME=the-ca.crt \
88-
--detach osixia/phpldapadmin:0.6.7
91+
--detach osixia/phpldapadmin:0.6.8
8992

9093
Other solutions are available please refer to the [Advanced User Guide](#advanced-user-guide)
9194

9295
#### Disable HTTPS
9396
Add --env PHPLDAPADMIN_HTTPS=false to the run command :
9497

95-
docker run --env PHPLDAPADMIN_HTTPS=false --detach osixia/phpldapadmin:0.6.7
98+
docker run --env PHPLDAPADMIN_HTTPS=false --detach osixia/phpldapadmin:0.6.8
99+
100+
### Fix docker mounted file problems
101+
102+
You may have some problems with mounted files on some systems. The startup script try to make some file adjustment and fix files owner and permissions, this can result in multiple errors. See [Docker documentation](https://docs.docker.com/v1.4/userguide/dockervolumes/#mount-a-host-file-as-a-data-volume).
103+
104+
To fix that run the container with `--copy-service` argument :
105+
106+
docker run [your options] osixia/phpldapadmin:0.6.8 --copy-service
96107

97108
### Debug
98109

@@ -101,11 +112,11 @@ Available levels are: `none`, `error`, `warning`, `info`, `debug` and `trace`.
101112

102113
Example command to run the container in `debug` mode:
103114

104-
docker run --detach osixia/phpldapadmin:0.6.7 --loglevel debug
115+
docker run --detach osixia/phpldapadmin:0.6.8 --loglevel debug
105116

106117
See all command line options:
107118

108-
docker run osixia/phpldapadmin:0.6.7 --help
119+
docker run osixia/phpldapadmin:0.6.8 --help
109120

110121
## Environment Variables
111122

@@ -158,7 +169,7 @@ See how to [set your own environment variables](#set-your-own-environment-variab
158169
159170
If you want to set this variable at docker run command add the tag `#PYTHON2BASH:` and convert the yaml in python:
160171

161-
docker run --env PHPLDAPADMIN_LDAP_HOSTS="#PYTHON2BASH:[{'ldap.example.org': [{'server': [{'tls': True}]},{'login': [{'bind_id': 'cn=admin,dc=example,dc=org'}]}]}, 'ldap2.example.org', 'ldap3.example.org']" --detach osixia/phpldapadmin:0.6.7
172+
docker run --env PHPLDAPADMIN_LDAP_HOSTS="#PYTHON2BASH:[{'ldap.example.org': [{'server': [{'tls': True}]},{'login': [{'bind_id': 'cn=admin,dc=example,dc=org'}]}]}, 'ldap2.example.org', 'ldap3.example.org']" --detach osixia/phpldapadmin:0.6.8
162173

163174
To convert yaml to python online: http://yaml-online-parser.appspot.com/
164175

@@ -191,14 +202,14 @@ Other environment variables:
191202
Environment variables can be set by adding the --env argument in the command line, for example:
192203

193204
docker run --env PHPLDAPADMIN_LDAP_HOSTS="ldap.example.org" \
194-
--detach osixia/phpldapadmin:0.6.7
205+
--detach osixia/phpldapadmin:0.6.8
195206

196207
#### Link environment file
197208

198209
For example if your environment file is in : /data/environment/my-env.yaml
199210

200211
docker run --volume /data/environment/my-env.yaml:/container/environment/01-custom/env.yaml \
201-
--detach osixia/phpldapadmin:0.6.7
212+
--detach osixia/phpldapadmin:0.6.8
202213

203214
Take care to link your environment file to `/container/environment/XX-somedir` (with XX < 99 so they will be processed before default environment files) and not directly to `/container/environment` because this directory contains predefined baseimage environment files to fix container environment (INITRD, LANG, LANGUAGE and LC_CTYPE).
204215

@@ -208,13 +219,13 @@ This is the best solution if you have a private registry. Please refer to the [A
208219

209220
## Advanced User Guide
210221

211-
### Extend osixia/phpldapadmin:0.6.7 image
222+
### Extend osixia/phpldapadmin:0.6.8 image
212223

213224
If you need to add your custom TLS certificate, bootstrap config or environment files the easiest way is to extends this image.
214225

215226
Dockerfile example:
216227

217-
FROM osixia/phpldapadmin:0.6.7
228+
FROM osixia/phpldapadmin:0.6.8
218229
MAINTAINER Your Name <[email protected]>
219230

220231
ADD https-certs /container/service/phpldapadmin/assets/apache2/certs
@@ -233,7 +244,7 @@ Clone this project :
233244
Adapt Makefile, set your image NAME and VERSION, for example :
234245

235246
NAME = osixia/phpldapadmin
236-
VERSION = 0.6.7
247+
VERSION = 0.6.8
237248

238249
becomes :
239250
NAME = billy-the-king/phpldapadmin

example/kubernetes/phpldapadmin-rc.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ spec:
1515
spec:
1616
containers:
1717
- name: phpldapadmin
18-
image: osixia/phpldapadmin:0.6.7
18+
image: osixia/phpldapadmin:0.6.8
1919
volumeMounts:
2020
- name: phpldapadmin-certs
2121
mountPath: /container/service/phpldapadmin/assets/apache2/certs

image/Dockerfile

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM osixia/web-baseimage:0.1.8
1+
FROM osixia/web-baseimage:0.1.9
22
MAINTAINER Bertrand Gouny <[email protected]>
33

44
# phpLDAPadmin version
@@ -27,17 +27,17 @@ RUN apt-get update \
2727
&& echo "$PHPLDAPADMIN_SHA1 *phpldapadmin.tgz" | sha1sum -c - \
2828
&& mkdir -p /var/www/phpldapadmin_bootstrap /var/www/phpldapadmin \
2929
&& tar -xzf phpldapadmin.tgz --strip 1 -C /var/www/phpldapadmin_bootstrap \
30-
&& apt-get remove -y --purge --auto-remove curl ca-certificates
30+
&& apt-get remove -y --purge --auto-remove curl ca-certificates \
31+
&& rm phpldapadmin.tgz \
32+
&& apt-get clean \
33+
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
3134

3235
# Add service directory to /container/service
3336
ADD service /container/service
3437

35-
# Use baseimage install-service script and clean all
38+
# Use baseimage install-service script
3639
# https://github.com/osixia/docker-light-baseimage/blob/stable/image/tool/install-service
37-
RUN /container/tool/install-service \
38-
&& rm phpldapadmin.tgz \
39-
&& apt-get clean \
40-
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
40+
RUN /container/tool/install-service
4141

4242
# Add default env variables
4343
ADD environment /container/environment/99-default

image/service/phpldapadmin/startup.sh

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
# https://github.com/osixia/docker-light-baseimage/blob/stable/image/tool/log-helper
55
log-helper level eq trace && set -x
66

7+
FIRST_START_DONE="${CONTAINER_STATE_DIR}/docker-phpldapadmin-first-start-done"
8+
79
#
810
# HTTPS config
911
#
@@ -31,20 +33,23 @@ fi
3133

3234
a2ensite phpldapadmin | log-helper debug
3335

34-
FIRST_START_DONE="${CONTAINER_STATE_DIR}/docker-phpldapadmin-first-start-done"
35-
# container first start
36-
if [ ! -e "$FIRST_START_DONE" ]; then
36+
#
37+
# phpLDAPadmin directory is empty, we use the bootstrap
38+
#
39+
if [ ! "$(ls -A /var/www/phpldapadmin)" ]; then
3740

38-
#
39-
# phpLDAPadmin directory is empty, we use the bootstrap
40-
#
41-
if [ ! "$(ls -A /var/www/phpldapadmin)" ]; then
41+
log-helper info "Bootstap phpLDAPadmin..."
4242

43-
log-helper info "Bootstap phpLDAPadmin..."
43+
cp -R /var/www/phpldapadmin_bootstrap/* /var/www/phpldapadmin
44+
rm -rf /var/www/phpldapadmin_bootstrap
45+
rm -f /var/www/phpldapadmin/config/config.php
46+
fi
4447

45-
cp -R /var/www/phpldapadmin_bootstrap/* /var/www/phpldapadmin
46-
rm -rf /var/www/phpldapadmin_bootstrap
47-
rm -f /var/www/phpldapadmin/config/config.php
48+
# if there is no config
49+
if [ ! -e "/var/www/phpldapadmin/config/config.php" ]; then
50+
51+
# on container first start customise the container config file
52+
if [ ! -e "$FIRST_START_DONE" ]; then
4853

4954
get_salt() {
5055
salt=$(</dev/urandom tr -dc '1324567890#<>,()*.^@$% =-_~;:/{}[]+!`azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN' | head -c64 | tr -d '\\')
@@ -118,15 +123,13 @@ if [ ! -e "$FIRST_START_DONE" ]; then
118123
done
119124

120125
sed -i "/{{ PHPLDAPADMIN_SERVERS }}/d" ${CONTAINER_SERVICE_DIR}/phpldapadmin/assets/config.php
121-
fi
122126

123-
touch $FIRST_START_DONE
124-
fi
127+
touch $FIRST_START_DONE
128+
fi
125129

126-
# if there is no config file link service config
127-
if [ ! -e "/var/www/phpldapadmin/config/config.php" ]; then
128-
log-helper debug "link ${CONTAINER_SERVICE_DIR}/phpldapadmin/assets/config.php to /var/www/phpldapadmin/config/config.php"
130+
log-helper debug "link ${CONTAINER_SERVICE_DIR}/phpldapadmin/assets/config.php to /var/www/phpldapadmin/config/config.php"
129131
ln -sf ${CONTAINER_SERVICE_DIR}/phpldapadmin/assets/config.php /var/www/phpldapadmin/config/config.php
132+
130133
fi
131134

132135
# fix file permission

test/test.bats

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ load test_helper
2929
tmp_file="$BATS_TMPDIR/docker-test"
3030

3131
# we start a new openldap container
32-
LDAP_CID=$(docker run -d osixia/openldap:1.1.0)
32+
LDAP_CID=$(docker run -d osixia/openldap:1.1.1)
3333
LDAP_IP=$(get_container_ip_by_cid $LDAP_CID)
3434

3535
# we start the wordpress container and set DB_HOSTS

0 commit comments

Comments
 (0)