mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-12-18 14:33:49 +01:00
Add docker image
This commit is contained in:
parent
23d185c171
commit
c4e9a33d2d
6 changed files with 74 additions and 0 deletions
36
docker/Dockerfile
Normal file
36
docker/Dockerfile
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
FROM debian:11
|
||||||
|
# Update/upgrade
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get upgrade -y
|
||||||
|
# Install LdapSaisie APT repository
|
||||||
|
RUN apt-get install -y wget gnupg
|
||||||
|
RUN wget -O - http://ldapsaisie.org/debian/ldapsaisie.gpg.key | apt-key add -
|
||||||
|
COPY apt.list /etc/apt/sources.list.d/ldapsaisie.list
|
||||||
|
RUN apt-get update
|
||||||
|
# Install dependencies
|
||||||
|
RUN DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt-get install -y git slapd apache2 php-ldap libapache2-mod-php php-cli smarty3 php-net-ldap2 php-net-ftp php-mail php-mail-mime php-console-table ldapvi locales sed bash-completion liquidprompt vim curl jq
|
||||||
|
# Add fr_FR* locales
|
||||||
|
RUN sed -i 's/^# fr_FR/fr_FR/' /etc/locale.gen
|
||||||
|
RUN locale-gen
|
||||||
|
# Clone sources
|
||||||
|
RUN git clone https://gitlab.easter-eggs.com/ee/ldapsaisie.git /var/www/ldapsaisie
|
||||||
|
# Fix www-data permission on temporary directory
|
||||||
|
RUN chown www-data: -R /var/www/ldapsaisie/src/tmp/
|
||||||
|
# Configure slapd and load lsexample directory
|
||||||
|
RUN killall slapd || echo slapd is not running
|
||||||
|
RUN /var/www/ldapsaisie/lsexample/restore_lsexample -v
|
||||||
|
# Configure and enable ldapsaisie VirtualHost (as default)
|
||||||
|
RUN a2dissite 000-default
|
||||||
|
COPY apache2.conf /etc/apache2/sites-available/ldapsaisie.conf
|
||||||
|
RUN a2ensite ldapsaisie
|
||||||
|
RUN a2enmod rewrite
|
||||||
|
RUN service apache2 restart
|
||||||
|
# Install ldapsaisie binary (with its bash-completion config)
|
||||||
|
RUN ln -s /var/www/ldapsaisie/src/bin/ldapsaisie.php /usr/local/sbin/ldapsaisie
|
||||||
|
RUN ln -s /var/www/ldapsaisie/debian/ldapsaisie.bash-completion /usr/share/bash-completion/completions/ldapsaisie
|
||||||
|
# Install entrypoint
|
||||||
|
COPY bashrc /root/.bashrc
|
||||||
|
COPY entrypoint.sh /usr/local/sbin/entrypoint.sh
|
||||||
|
RUN echo "ldapsaisie-dev" > /etc/hostname
|
||||||
|
ENTRYPOINT /usr/local/sbin/entrypoint.sh
|
||||||
|
EXPOSE 80 389
|
14
docker/README.md
Normal file
14
docker/README.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# LdapSaisie docker image
|
||||||
|
|
||||||
|
This docker image permit to test LdapSaisie using _LSexample_ test LDAP directory and configuration.
|
||||||
|
|
||||||
|
To use it, just run the following command :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -it -p 8080:80 -h ldapsaisie.dev brenard/ldapsaisie:dev
|
||||||
|
```
|
||||||
|
|
||||||
|
You could access LdapSaisie using :
|
||||||
|
- your Web browser on http://127.0.0.1:8080 (credentials: `admin/admin`)
|
||||||
|
- the `ldapsaisie` CLI command (for instance: `ldapsaisie search LSpeople`, run `ldapsaisie --help` for details)
|
||||||
|
- the API on http://127.0.0.1/api (for instance: `curl -u admin:admin http://127.0.0.1/api/1.0/object/LSpeople|jq`, see [documentation](https://ldapsaisie.org/doc/all-in-one/LdapSaisie.html#api-methods) for details)
|
11
docker/apache2.conf
Normal file
11
docker/apache2.conf
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<VirtualHost *:80>
|
||||||
|
DocumentRoot /var/www/ldapsaisie/src/public_html
|
||||||
|
|
||||||
|
<Directory /var/www/ldapsaisie/src/public_html>
|
||||||
|
Options -Indexes +FollowSymLinks
|
||||||
|
AllowOverride FileInfo
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||||
|
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
||||||
|
</VirtualHost>
|
1
docker/apt.list
Normal file
1
docker/apt.list
Normal file
|
@ -0,0 +1 @@
|
||||||
|
deb http://ldapsaisie.org/debian bullseye main
|
7
docker/bashrc
Normal file
7
docker/bashrc
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
HISTCONTROL=ignoreboth
|
||||||
|
HISTSIZE=1000
|
||||||
|
HISTFILESIZE=2000
|
||||||
|
source /etc/bash_completion
|
||||||
|
|
||||||
|
# Only load liquidprompt in interactive shells, not from a script or from scp
|
||||||
|
echo $- | grep -q i 2>/dev/null && . /usr/share/liquidprompt/liquidprompt
|
5
docker/entrypoint.sh
Executable file
5
docker/entrypoint.sh
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
service slapd start
|
||||||
|
service apache2 start
|
||||||
|
bash -l
|
Loading…
Reference in a new issue