Version customisée de Drupal
3.7K
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.
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
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
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
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
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
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é".
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)
Content type
Image
Digest
sha256:62451bfd6…
Size
292.5 MB
Last updated
5 days ago
docker pull htdemony/drupal