docker-GLPI/alpine/web-builder/Dockerfile

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"]