Apps / Imágenes Docker
Drupal 11 en Docker.
CMS empresarial, anclado.
Drupal es un sistema de gestión de contenido open source y flexible para construir sitios ricos en contenido, portales y aplicaciones web, con taxonomía fuerte, permisos de grano fino y un gran ecosistema de módulos y temas.
docker pull ghcr.io/remarkablecloud/drupal Build actual
11.4.6-r1
Updated Jan 1, 1970
Base
Drupal 11 oficial (Apache), anclada por digest
Qué trae
Pareja MariaDB, trusted-host y configuración de proxy, healthcheck
Licencia upstream
Drupal: GPL-2.0-or-later
Free to pull and run anywhere. Digest-pinned, updated deliberately; each build is recorded in the changelog.
La imagen
Qué agrega nuestra imagen.
Drupal es un sistema de gestión de contenido open source y flexible para construir sitios ricos en contenido, portales y aplicaciones web, con taxonomía fuerte, permisos de grano fino y un gran ecosistema de módulos y temas.
Base anclada por digest
Construida desde `drupal@sha256:4249d5...` (Drupal 11.4.6, PHP 8.5, Apache, Debian 13). Anclar por digest mantiene las reconstrucciones reproducibles.
Instalación headless con drush
Agregamos `drush` y corremos un `drush site:install` en el primer arranque desde variables de entorno, así que Drupal se instala sin paso de instalador web y queda listo de inmediato.
Contraseña de admin generada, nunca horneada
Si no se provee contraseña, la imagen genera una fuerte en la primera instalación y la imprime una vez en el log del contenedor. Puedes fijar la tuya con `DRUPAL_ADMIN_PASSWORD`.
Consciente del proxy
La instalación escribe `reverse_proxy` y `trusted_host_patterns` en `settings.php`, así que Drupal genera URLs HTTPS correctas y sirve limpio detrás de un reverse proxy que termina TLS, sin bucles de redirección.
Layout seguro ante retag
El núcleo de Drupal, los módulos contrib y las librerías vendor viven en la imagen; solo `sites/default` (tu `settings.php` y archivos subidos) persiste. Cambiar a un tag nuevo actualiza la plataforma sin tocar tu contenido ni la base de datos.
Healthcheck
Un `/rc-health.txt` estático, servido directo por Apache e independiente del enrutado de Drupal, respalda el `HEALTHCHECK` del contenedor. El tag publicado actual es `ghcr.io/remarkablecloud/drupal:11.4.6-r1`.
¿Prefieres saltarte el compose? Despliega Drupal a un clic en tu propio VPS: TLS, dominio y base de datos ya conectados.
Despliega Drupal a un clicLa guía
Córrelo en producción.
Resumen de producción
Dos contenedores: Drupal (Apache + PHP 8.5, puerto 80 interno) y MariaDB. La instalación corre headless con drush en el primer arranque y la contraseña de admin sale una vez en el log. Solo sites/default persiste en volumen: el núcleo y los módulos viven en la imagen, así que los módulos se agregan por composer en un build, no por la UI. Respalda la base de datos y sites/default juntos. Para actualizar, cambia al tag nuevo y recrea; el layout seguro ante retag protege tu contenido.
La guía técnica completa (Compose, variables, hardening, respaldos y upgrades) está disponible en inglés: ver la guía completa.
O sáltate la operación
Aloja Drupal en tu propio VPS privado.
Un clic instala esta imagen exacta en un VPS que es solo tuyo, con asistente de dominio y TLS incluido. El mismo servidor corre tantas apps como quepan, sin cargo por app.
FAQ
Preguntas que nos hacen.
¿Necesito una base de datos?
Sí. Drupal guarda contenido y configuración en MariaDB (o MySQL). El compose independiente incluye MariaDB.
¿De dónde sale la contraseña de admin?
Si defines `DRUPAL_ADMIN_PASSWORD`, se usa ese valor. Si lo dejas vacío, la imagen genera una fuerte en la primera instalación y la imprime una vez en el log del contenedor.
¿Cómo funciona HTTPS si el contenedor solo sirve HTTP en el puerto 80?
El TLS se termina en el reverse proxy (Traefik en la App Platform). La imagen define `reverse_proxy` en `settings.php`, así que Drupal honra `X-Forwarded-Proto` y genera URLs https. Define `DRUPAL_TRUSTED_HOST` con tu hostname.
¿Puedo agregar módulos?
Sí, vía composer como parte de un build de imagen, que conserva el layout seguro ante retag. Los módulos instalados por UI vivirían fuera del volumen persistido y se perderían en un retag.
¿Puedo usar MySQL en vez de MariaDB?
Sí. Drupal conecta con el driver de MySQL, que funciona con MySQL 8 y MariaDB; apunta `DRUPAL_DB_HOST` a tu servidor.
Your server runs. You sleep.
Fully managed hosting from people who have been doing this since 2001.