FROM almalinux:9 # Valeurs par défaut pour l'utilisateur du host ARG HOST_USER_ID=1000 ARG HOST_GROUP_ID=1000 # Install system tools and PHP/Nginx/FPM RUN dnf -y update && \ dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm && \ dnf module reset -y php && \ dnf module enable -y php:remi-8.3 && \ dnf -y install \ gettext \ mysql \ nginx \ php \ php-fpm \ php-mysqlnd \ php-gd \ php-intl \ php-xml \ php-mbstring \ php-curl \ php-ldap \ php-opcache \ php-zip && \ dnf -y install epel-release && \ dnf -y install \ supervisor \ unzip \ wget \ nano \ tar && \ dnf clean all RUN groupmod -g ${HOST_GROUP_ID} nginx && \ usermod -u ${HOST_USER_ID} -g ${HOST_GROUP_ID} nginx # Create folders for Supervisor and GLPI RUN mkdir -p /var/log/supervisord /etc/supervisor/conf.d /var/www/html \ mkdir -p /run/php-fpm && \ chown nginx:nginx /run/php-fpm # Patch PHP-FPM to listen on TCP (avoid socket permission hell) RUN sed -i 's|^listen = .*|listen = 127.0.0.1:9000|' /etc/php-fpm.d/www.conf && \ sed -i 's/^daemonize = yes/daemonize = no/' /etc/php-fpm.conf && \ sed -i 's/^user = .*/user = nginx/' /etc/php-fpm.d/www.conf && \ sed -i 's/^group = .*/group = nginx/' /etc/php-fpm.d/www.conf && \ echo "daemon off;" >> /etc/nginx/nginx.conf # Copy your provided nginx and supervisord conf COPY nginx.conf /etc/nginx/nginx.conf COPY supervisord.conf /etc/supervisord.conf COPY default.conf.template /etc/nginx/conf.d/default.conf.template # Optional: download and unpack GLPI (latest stable as of 2025) WORKDIR /tmp RUN wget https://github.com/glpi-project/glpi/releases/download/10.0.18/glpi-10.0.18.tgz && \ tar -xzf glpi-10.0.18.tgz && \ mv glpi/* /var/www/html/ && \ chown -R nginx:nginx /var/www/html # Expose HTTP port EXPOSE 80 # Add entrypoint COPY docker-entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"]