Début du projet
This commit is contained in:
commit
e7ec47a6fa
BIN
CAS-1.3.8.tgz
Normal file
BIN
CAS-1.3.8.tgz
Normal file
Binary file not shown.
48
Dockerfile
Normal file
48
Dockerfile
Normal file
@ -0,0 +1,48 @@
|
||||
FROM php:7.4-apache-buster
|
||||
MAINTAINER Benoit LORAND <benoit.lorand@blorand.org>
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
RUN \
|
||||
apt-get update && \
|
||||
apt-get install --no-install-recommends -y \
|
||||
supervisor \
|
||||
cron \
|
||||
libbz2-dev \
|
||||
libzip-dev \
|
||||
libxml2-dev \
|
||||
libldap2-dev \
|
||||
libicu-dev \
|
||||
libpng-dev \
|
||||
zlib1g-dev \
|
||||
&& \
|
||||
pecl install apcu && docker-php-ext-enable apcu && \
|
||||
docker-php-ext-configure mysqli && docker-php-ext-install mysqli && \
|
||||
docker-php-ext-configure gd && docker-php-ext-install gd && \
|
||||
docker-php-ext-configure intl && docker-php-ext-install intl && \
|
||||
docker-php-ext-configure ldap && docker-php-ext-install ldap && \
|
||||
docker-php-ext-configure xmlrpc && docker-php-ext-install xmlrpc && \
|
||||
docker-php-ext-configure exif && docker-php-ext-install exif && \
|
||||
docker-php-ext-configure zip && docker-php-ext-install zip && \
|
||||
docker-php-ext-configure bz2 && docker-php-ext-install bz2 && \
|
||||
docker-php-ext-configure opcache && docker-php-ext-install opcache
|
||||
|
||||
ADD CAS-1.3.8.tgz /root
|
||||
RUN pear install /root/CAS-1.3.8.tgz
|
||||
ADD supervisor/supervisord.conf /etc/supervisor
|
||||
ADD supervisor/conf.d/apache2.conf /etc/supervisor/conf.d
|
||||
ADD supervisor/conf.d/cron.conf /etc/supervisor/conf.d
|
||||
ADD supervisor/conf.d/glpi_init.conf /etc/supervisor/conf.d
|
||||
ADD glpi_init.sh /root/glpi_init.sh
|
||||
ADD glpi.cron /etc/cron.d/glpi
|
||||
ADD https://github.com/glpi-project/glpi/releases/download/9.5.0/glpi-9.5.0.tgz /root/glpi-9.5.0.tgz
|
||||
ADD https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5.0%2B1.0/fusioninventory-9.5.0+1.0.tar.bz2 /root/fusioninventory-9.5.0+1.0.tar.bz2
|
||||
|
||||
RUN \
|
||||
chmod a+x /root/glpi_init.sh && \
|
||||
rm -f /var/www/html/* /root/CAS-1.3.8.tgz && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
ENTRYPOINT ["supervisord", "--nodaemon", "--configuration", "/etc/supervisor/supervisord.conf"]
|
||||
|
25
docker-compose.yml
Normal file
25
docker-compose.yml
Normal file
@ -0,0 +1,25 @@
|
||||
version: '3.5'
|
||||
services:
|
||||
web:
|
||||
container_name: glpi-web
|
||||
build: .
|
||||
restart: always
|
||||
ports:
|
||||
- 8089:80
|
||||
volumes:
|
||||
- ./www:/var/www/html
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
db:
|
||||
image: mysql:5.7
|
||||
container_name: glpi-db
|
||||
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_DATABASE: mysql_db_name
|
||||
MYSQL_USER: mysql_db_user
|
||||
MYSQL_PASSWORD: mysql_db_password
|
||||
MYSQL_RANDOM_ROOT_PASSWORD: '1'
|
||||
volumes:
|
||||
- ./db:/var/lib/mysql
|
1
glpi.cron
Normal file
1
glpi.cron
Normal file
@ -0,0 +1 @@
|
||||
* * * * * root /usr/local/bin/php /var/www/html/front/cron.php &>/dev/null
|
16
glpi_init.sh
Normal file
16
glpi_init.sh
Normal file
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
GLPI_TARBALL="/root/glpi-9.5.0.tgz"
|
||||
FUSION_TARBALL="/root/fusioninventory-9.5.0+1.0.tar.bz2"
|
||||
|
||||
if [ -z $(ls -A /var/www/html) ] ; then
|
||||
echo "Initilazing ${GLPI_TARBALL}"
|
||||
cd /root
|
||||
tar xf ${GLPI_TARBALL}
|
||||
cp -r /root/glpi/. /var/www/html/.
|
||||
cd /var/www/html/plugins
|
||||
tar xf ${FUSION_TARBALL}
|
||||
chown -R www-data:www-data /var/www/html
|
||||
rm -r /root/glpi
|
||||
else
|
||||
echo "GLPI is already initialized"
|
||||
fi
|
4
supervisor/conf.d/apache2.conf
Normal file
4
supervisor/conf.d/apache2.conf
Normal file
@ -0,0 +1,4 @@
|
||||
[program:apache2]
|
||||
command=apache2-foreground
|
||||
autostart=true
|
||||
autorestart=true
|
4
supervisor/conf.d/cron.conf
Normal file
4
supervisor/conf.d/cron.conf
Normal file
@ -0,0 +1,4 @@
|
||||
[program:cron]
|
||||
command=cron -f -L 15
|
||||
autostart=true
|
||||
autorestart=true
|
5
supervisor/conf.d/glpi_init.conf
Normal file
5
supervisor/conf.d/glpi_init.conf
Normal file
@ -0,0 +1,5 @@
|
||||
[program:glpi_init]
|
||||
command=/root/glpi_init.sh
|
||||
startsecs = 0
|
||||
autorestart = false
|
||||
startretries = 1
|
15
supervisor/supervisord.conf
Normal file
15
supervisor/supervisord.conf
Normal file
@ -0,0 +1,15 @@
|
||||
; supervisor config file
|
||||
|
||||
[supervisord]
|
||||
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
|
||||
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
|
||||
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
|
||||
|
||||
; The [include] section can just contain the "files" setting. This
|
||||
; setting can list multiple files (separated by whitespace or
|
||||
; newlines). It can also contain wildcards. The filenames are
|
||||
; interpreted as relative to this file. Included files *cannot*
|
||||
; include files themselves.
|
||||
|
||||
[include]
|
||||
files = /etc/supervisor/conf.d/*.conf
|
Loading…
Reference in New Issue
Block a user