Séparation de l'environnement de build pour consommer moins d'espace lors de la construction d'une nouvelle image.
84 lines
2.9 KiB
Docker
84 lines
2.9 KiB
Docker
FROM alpine
|
|
MAINTAINER Benoit LORAND <benoit.lorand@blorand.org>
|
|
|
|
WORKDIR /root
|
|
ENV GLPI_CONFIG_DIR=/etc/glpi
|
|
ENV GLPI_VAR_DIR=/var/lib/glpi
|
|
ENV GLPI_LOG_DIR=/var/log/glpi
|
|
ENV GLPI_VERSION=9.5.5
|
|
ENV FUSIONINVENTORY_VERSION=9.5+3.0
|
|
ENV FIELDS_VERSION=1.12.4
|
|
ENV DATAINJECTION_VERSION=2.9.0
|
|
|
|
RUN \
|
|
apk add --no-cache \
|
|
runit \
|
|
php7-apache2 \
|
|
php7 \
|
|
mariadb-client \
|
|
php7-pecl-apcu \
|
|
php7-mysqli \
|
|
php7-gd \
|
|
php7-intl \
|
|
php7-ldap \
|
|
php7-xmlrpc \
|
|
php7-xml \
|
|
php7-exif \
|
|
php7-zip \
|
|
php7-bz2 \
|
|
php7-opcache \
|
|
php7-pear \
|
|
php7-curl \
|
|
php7-dom \
|
|
php7-pdo \
|
|
php7-json \
|
|
php7-session \
|
|
php7-ctype \
|
|
php7-fileinfo \
|
|
php7-mbstring \
|
|
php7-simplexml \
|
|
php7-iconv \
|
|
php7-sodium \
|
|
php7-imap \
|
|
php7-pdo \
|
|
php7-pdo_mysql \
|
|
php7-pspell \
|
|
php7-phar \
|
|
patch
|
|
|
|
COPY CAS-1.3.8.tgz /root/
|
|
RUN pear install /root/CAS-1.3.8.tgz && \
|
|
pear install Archive_Tar
|
|
COPY httpd.conf /etc/apache2
|
|
COPY service/ /etc/service/
|
|
COPY glpi_init.sh /root/glpi_init.sh
|
|
COPY glpi.cron /var/spool/cron/crontabs/apache
|
|
COPY initrc /etc/
|
|
COPY glpi_ticket.class.php.patch /root/glpi_ticket.class.php.patch
|
|
ADD https://github.com/glpi-project/glpi/releases/download/${GLPI_VERSION}/glpi-${GLPI_VERSION}.tgz /root/glpi-${GLPI_VERSION}.tgz
|
|
ADD https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi${FUSIONINVENTORY_VERSION}/fusioninventory-${FUSIONINVENTORY_VERSION}.tar.bz2 /root/fusioninventory-${FUSIONINVENTORY_VERSION}.tar.bz2
|
|
ADD https://github.com/pluginsGLPI/fields/releases/download/${FIELDS_VERSION}/glpi-fields-${FIELDS_VERSION}.tar.bz2 /root/glpi-fields-${FIELDS_VERSION}.tar.bz2
|
|
ADD https://github.com/pluginsGLPI/datainjection/releases/download/${DATAINJECTION_VERSION}/glpi-datainjection-${DATAINJECTION_VERSION}.tar.bz2 /root/glpi-datainjection-${DATAINJECTION_VERSION}.tar.bz2
|
|
|
|
RUN \
|
|
mkdir -p /root/glpi_template/etc /root/glpi_template/files && \
|
|
tar x -f /root/glpi-${GLPI_VERSION}.tgz && \
|
|
cp -r /root/glpi/config/. /root/glpi_template/etc/. && \
|
|
cp -r /root/glpi/files/. /root/glpi_template/files/. && \
|
|
rm -r /root/glpi/config /root/glpi/files && \
|
|
mv /root/glpi /var/www/glpi && \
|
|
cd /var/www/glpi && \
|
|
patch -Np0 -i /root/glpi_ticket.class.php.patch && \
|
|
cd /var/www/glpi/plugins && \
|
|
tar x -f /root/fusioninventory-${FUSIONINVENTORY_VERSION}.tar.bz2 && \
|
|
cd /var/www/glpi/marketplace && \
|
|
tar x -f /root/glpi-fields-${FIELDS_VERSION}.tar.bz2 && \
|
|
tar x -f /root/glpi-datainjection-${DATAINJECTION_VERSION}.tar.bz2 && \
|
|
chmod a+x /root/glpi_init.sh /etc/initrc && \
|
|
chmod 600 /etc/crontabs/apache && \
|
|
rm -f /var/www/html/* /root/CAS-1.3.8.tgz /root/glpi-${GLPI_VERSION}.tgz /root/fusioninventory-${FUSIONINVENTORY_VERSION}.tar.bz2 /root/glpi-fields-${FIELDS_VERSION}.tar.bz2 /root/glpi-datainjection-${DATAINJECTION_VERSION}.tar.bz2 && \
|
|
rm -f /root/glpi_ticket.class.php.patch && \
|
|
rm -rf /tmp/* /var/tmp/*
|
|
|
|
ENTRYPOINT ["/etc/initrc"]
|