Sign inSign up

htdemony/drupal

By htdemony

•Updated 5 days ago

Version customisée de Drupal

Image
Content management system
0

3.7K

htdemony/drupal repository overview

⁠Version 11 (expérimental, non compatible Two-factor Authentication (TFA))

La version 11 est basée sur la version 11.x de drupal tout en ajoutant la partie sécurisée de l'interface d'admin uniquement appelable depuis un réseau local.

⁠Version 10 (version latest)

La version 10 est basée sur la version 10.x de drupal (dernière version 10 de drupal, actuellement 10.5.x) tout en ajoutant la partie sécurisée de l'interface d'admin uniquement appelable depuis un réseau local.
Attention la version 10.5.0 et 10.5.1 comportent toutes 2 une erreur javascript avec ckeditor 5. Vous pouvez utiliser la version 10.4.8 en attendant une correction de la part de Drupal.
Contenu du Dockerfile:

FROM drupal:10

RUN apt update && apt upgrade -y && \
composer require 'phpmailer/phpmailer' && \
composer require 'drupal/smtp' && \
composer require 'drupal/bartik:^1.0' && \
composer require 'drupal/seven:^1.0' && \
composer require 'drupal/ckeditor:^1.0' && \
composer require 'drupal/color:^1.0' && \
composer require 'drupal/quickedit:^1.0' && \
composer require 'drupal/rdf:^2.0' && \
composer update && \
echo "alias ll='ls -alrt'" >> $HOME/.bashrc && \
apt clean

COPY apache2/sites-enabled/000-default.conf /etc/apache2/sites-available/000-default.conf

⁠Version 9.5 (deprecated/obsolète) - Prochainement supprimé

La version 9.5 est basée sur la version 9.5 de drupal tout en ajoutant la partie sécurisée de l'interface d'admin uniquement appelable depuis un réseau local.
Contenu du Dockerfile:

FROM drupal:9.5

RUN apt update && apt upgrade -y && \
composer require phpmailer/phpmailer && \
composer require drupal/smtp && \
composer update && \
echo "alias ll='ls -alrt'" >> $HOME/.bashrc && \
apt clean

COPY apache2/sites-enabled/000-default.conf /etc/apache2/sites-available/000-default.conf

⁠Version 9.4 (deprecated/obsolète)

La version 9.4 retire la contrainte de mod_security et interdit l'accès aux pages d'admin en dehors du réseau local.
Contenu du Dockerfile:

FROM drupal:9.4

RUN composer require phpmailer/phpmailer && \
composer require drupal/smtp && \
echo "alias ll='ls -alrt'" >> $HOME/.bashrc && \
apt update && apt upgrade -y && apt install -y libapache2-mod-security2 && apt clean

COPY apache2/sites-enabled/000-default.conf /etc/apache2/sites-available/000-default.conf

⁠Version 9.3 (deprecated/obsolète)

⁠ATTENTION: La version 9.3 bloque les pages contenant du html complexe.

Il s'agit d'une version customisée (ajout de phpmailer) et sécurisée (avec apache mod_security d'activé) de drupal.
Contenu du Dockerfile:

FROM drupal:9.3

RUN composer require phpmailer/phpmailer && \
echo "alias ll='ls -alrt'" >> $HOME/.bashrc && \
apt update && apt upgrade -y && apt install -y libapache2-mod-security2 && apt clean && \
cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf && \
sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/modsecurity/modsecurity.conf

⁠Docker-compose

Contenu du fichier docker-compose (à ajouter à une stack Portainer par exemple). Sous condition de changer le login, les mots de passe, le port, le chemin des volumes montés.

version: "3"
services:
  drupal:
    container_name: drupal_drupal
    image: docker.io/htdemony/drupal:10
    links:
      - drupal-mariadb:mariadb-drupal
    ports:
      - 8084:80/tcp
    restart: unless-stopped
    volumes:
      - /volume1/docker/drupal-10/modules:/var/www/html/modules
      - /volume1/docker/drupal-10/profiles:/var/www/html/profiles
      - /volume1/docker/drupal-10/sites:/var/www/html/sites
      - /volume1/docker/drupal-10/themes:/var/www/html/themes
    working_dir: /opt/drupal
    
  drupal-mariadb:
    container_name: drupal_db
    image: mariadb:latest
    environment:
      - MARIADB_AUTO_UPGRADE=1
      - MYSQL_USER=user
      - MYSQL_PASSWORD=mot_de_passe
      - MYSQL_DATABASE=drupal
      - TZ=Europe/Paris
      - MYSQL_ROOT_PASSWORD=mot_de_passe_root
    restart: unless-stopped
    volumes:
      - /volume1/docker/drupal-10-mariadb/database:/var/lib/mysql

⁠Accès à la page d'administration

Comme le contenu de l'admin est sécurisé, vous devez passer par un reverse proxy fournissant le header X-Real-IP. En utilisant un NAS, Swag, Nginx Proxy Manager, par exemple, vous pouvez configurer une redirection depuis la section "Portail de connexion"/"Avancé"/"Proxy inversé".

⁠Les images sont régulièrement contrôlées via trivy

docker run --rm -v trivy-cache:/root/.cache/ -v /var/run/docker.sock:/var/run/docker.sock aquasec/trivy:latest image --ignore-unfixed htdemony/drupal:10
2025-06-23T23:11:40Z	INFO	[vuln] Vulnerability scanning is enabled
2025-06-23T23:11:40Z	INFO	[secret] Secret scanning is enabled
2025-06-23T23:11:40Z	INFO	[secret] If your scanning is slow, please try '--scanners vuln' to disable secret scanning
2025-06-23T23:11:40Z	INFO	[secret] Please see also https://trivy.dev/v0.63/docs/scanner/secret#recommendation for faster secret detection
2025-06-23T23:11:45Z	INFO	Detected OS	family="debian" version="12.11"
2025-06-23T23:11:45Z	INFO	[debian] Detecting vulnerabilities...	os_version="12" pkg_num=193
2025-06-23T23:11:45Z	INFO	Number of language-specific files	num=1
2025-06-23T23:11:45Z	INFO	[composer-vendor] Detecting vulnerabilities...
2025-06-23T23:11:45Z	WARN	Using severities from other vendors for some vulnerabilities. Read https://trivy.dev/v0.63/docs/scanner/vulnerability#severity-selection for details.

Report Summary

┌───────────────────────────────────────────┬─────────────────┬─────────────────┬─────────┐
│                  Target                   │      Type       │ Vulnerabilities │ Secrets │
├───────────────────────────────────────────┼─────────────────┼─────────────────┼─────────┤
│ htdemony/drupal:10 (debian 12.11)         │     debian      │        0        │    -    │
├───────────────────────────────────────────┼─────────────────┼─────────────────┼─────────┤
│ opt/drupal/vendor/composer/installed.json │ composer-vendor │        0        │    -    │
└───────────────────────────────────────────┴─────────────────┴─────────────────┴─────────┘
Legend:
- '-': Not scanned
- '0': Clean (no security findings detected)

Tag summary

Content type

Image

Digest

sha256:62451bfd6…

Size

292.5 MB

Last updated

5 days ago

docker pull htdemony/drupal