Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian bumped to version 12 Bookworm / PHP bumped to version 8.2 / Secrets / Translation #103

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 0 additions & 27 deletions .github/workflows/docker.yml

This file was deleted.

47 changes: 23 additions & 24 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,47 +1,46 @@
#On choisit une debian
FROM debian:11.6
# Choose Distribution
FROM debian:12

LABEL org.opencontainers.image.authors="github@diouxx.be"
LABEL org.opencontainers.image.authors="github@local"


#Ne pas poser de question à l'installation
# Do not ask questions during installation
ENV DEBIAN_FRONTEND noninteractive

#Installation d'apache et de php8.1 avec extension
# Installation of apache2 web server as well as PHP 8.2 including extension
RUN apt update \
&& apt install --yes ca-certificates apt-transport-https lsb-release wget curl \
&& curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg \
&& sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' \
&& apt update \
&& apt install --yes --no-install-recommends \
apache2 \
php8.1 \
php8.1-mysql \
php8.1-ldap \
php8.1-xmlrpc \
php8.1-imap \
php8.1-curl \
php8.1-gd \
php8.1-mbstring \
php8.1-xml \
php8.2 \
php8.2-mysql \
php8.2-ldap \
php8.2-xmlrpc \
php8.2-imap \
php8.2-curl \
php8.2-gd \
php8.2-mbstring \
php8.2-xml \
php-cas \
php8.1-intl \
php8.1-zip \
php8.1-bz2 \
php8.1-redis \
php8.2-intl \
php8.2-zip \
php8.2-bz2 \
php8.2-redis \
php8.2-xmlreader \
php8.2-xmlwriter \
cron \
jq \
libldap-2.4-2 \
libldap-2.5-0 \
libldap-common \
libsasl2-2 \
libsasl2-modules \
libsasl2-modules-db \
&& rm -rf /var/lib/apt/lists/*

#Copie et execution du script pour l'installation et l'initialisation de GLPI
# Copy and Execute Script for Installation and Initialization of GLPI
COPY glpi-start.sh /opt/
RUN chmod +x /opt/glpi-start.sh
ENTRYPOINT ["/opt/glpi-start.sh"]

#Exposition des ports
# Expose Web Server Ports
EXPOSE 80 443
55 changes: 41 additions & 14 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,55 @@
version: "3.2"

services:
#MariaDB Container
mariadb:
image: mariadb:10.7
container_name: mariadb
hostname: mariadb
# MariaDB Container
glpi_mariadb:
image: mariadb:latest
container_name: glpi_mariadb
hostname: glpi_mariadb
volumes:
- /var/lib/mysql:/var/lib/mysql
env_file:
- ./mariadb.env
- ~/data/glpi/db:/var/lib/mysql
restart: always
environment:
- MARIADB_ROOT_PASSWORD_FILE=/run/secrets/MARIADB_ROOT_PASSWORD
- MARIADB_USER_FILE=/run/secrets/MARIADB_USER
- MARIADB_PASSWORD_FILE=/run/secrets/MARIADB_PASSWORD
- MARIADB_DATABASE_FILE=/run/secrets/MARIADB_DATABASE
secrets:
- MARIADB_ROOT_PASSWORD
- MARIADB_USER
- MARIADB_PASSWORD
- MARIADB_DATABASE

#GLPI Container
# GLPI Container
glpi:
image: diouxx/glpi
container_name : glpi
image: glpi
container_name: glpi
hostname: glpi
ports:
- "80:80"
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /var/www/html/glpi/:/var/www/html/glpi
- ~/data/glpi/www:/var/www/html/glpi
environment:
- TIMEZONE=Europe/Brussels
restart: always
networks:
- traefik
labels:
- "traefik.enable=true"
- "traefik.http.routers.glpi-router.rule=Host(`glpi.MYDOMAIN.TLD`)"
- "traefik.http.services.glpi-service.loadbalancer.server.port=80"
- "traefik.docker.network=traefik"

networks:
traefik:
external: true

secrets:
MARIADB_ROOT_PASSWORD:
file: ~/secrets/glpi/MARIADB_ROOT_PASSWORD.txt
MARIADB_DATABASE:
file: ~/secrets/glpi/MARIADB_DATABASE.txt
MARIADB_USER:
file: ~/secrets/glpi/MARIADB_USER.txt
MARIADB_PASSWORD:
file: ~/secrets/glpi/MARIADB_PASSWORD.txt
6 changes: 3 additions & 3 deletions glpi-start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@

if [[ -z "${TIMEZONE}" ]]; then echo "TIMEZONE is unset";
else
echo "date.timezone = \"$TIMEZONE\"" > /etc/php/8.1/apache2/conf.d/timezone.ini;
echo "date.timezone = \"$TIMEZONE\"" > /etc/php/8.1/cli/conf.d/timezone.ini;
echo "date.timezone = \"$TIMEZONE\"" > /etc/php/8.2/apache2/conf.d/timezone.ini;
echo "date.timezone = \"$TIMEZONE\"" > /etc/php/8.2/cli/conf.d/timezone.ini;
fi

#Enable session.cookie_httponly
sed -i 's,session.cookie_httponly =,session.cookie_httponly = on,g' /etc/php/8.1/apache2/php.ini
sed -i 's,session.cookie_httponly =,session.cookie_httponly = on,g' /etc/php/8.2/apache2/php.ini

FOLDER_GLPI=glpi/
FOLDER_WEB=/var/www/html/
Expand Down