---
title: "Joomla con Docker Compose y hosting en un clic"
description: "Joomla es el CMS de código abierto para sitios web, con contenido multilingüe y niveles de acceso integrados. Autoaloja Joomla 6 con MariaDB en un clic."
---

[← Todas las plantillas](https://pethost.dev/es/templates/) · [Sitios web y tiendas](https://pethost.dev/es/templates/websites/)

# Despliega Joomla en un clic

El CMS de código abierto para sitios web, con varios idiomas, niveles de acceso y miles de extensiones

Una alternativa autoalojada a Wix y Squarespace.

[Desplegar en Pethost](https://console.pethost.dev/?template=joomla)

## ¿Qué es Joomla?

Joomla es un sistema de gestión de contenidos libre y de código abierto para sitios web de todo tipo, desde las páginas de un club hasta el sitio de una empresa en varios idiomas. Los artículos se ordenan en categorías y se muestran mediante menús y módulos, y el núcleo trae la plantilla Cassiopeia, un gestor multimedia, contactos con sus formularios, etiquetas, Búsqueda inteligente y URLs amigables. Un sitio multilingüe no necesita extensiones: cada idioma tiene su contenido y su página de inicio, y los artículos se asocian a sus traducciones. Los grupos de usuarios y los niveles de acceso deciden quién ve y edita qué, y el Directorio de extensiones de Joomla reúne más de 5000 extensiones.

Esta plantilla ejecuta Joomla 6 desde la imagen oficial con MariaDB, y lo instala en el primer inicio con los datos de los campos, así que el instalador web nunca queda abierto a un desconocido. Los archivos de Joomla se guardan en un volumen y se actualizan desde el Administrador, y desde Joomla 5.4 un sitio al que puede llegar el servicio de actualizaciones de Joomla instala por sí solo las versiones menores y de parche. El inconveniente: una versión mayor se actualiza a mano, una vez que tus extensiones la admiten.

## Hosting de Joomla en Pethost

1. Inicias sesión en Pethost con una passkey, GitHub o Google. ¿Aún no tienes máquina? Eliges un plan, y el enlace espera hasta que esté lista.
2. Nuevo proyecto se abre en Joomla. Rellenas lo que pide y haces clic en Crear proyecto: **Correo electrónico**, **Nombre de usuario**, **Contraseña de administrador**.
3. En un par de minutos Joomla está en marcha en su propia dirección con HTTPS. Sus secretos se generan al azar, y sus datos entran en el backup de cada noche.
4. Es un proyecto como cualquier otro: tú o tu agente lo pueden cambiar, volver a una versión anterior o restaurar.

## Preguntas sobre Joomla

**¿Joomla es gratis?**

Sí. Joomla es gratuito y de código abierto bajo la GNU General Public License, versión 2 o posterior. Lo hacen voluntarios, y la organización sin fines de lucro Open Source Matters gobierna el proyecto.

**¿Joomla sigue teniendo mantenimiento?**

Sí. Joomla 6.2 salió el 13 de octubre de 2026, Joomla 6 recibe correcciones de errores hasta el 17 de octubre de 2028 y de seguridad hasta el 16 de octubre de 2029, y Joomla 6.3 está previsto para abril de 2027.

**¿Cómo actualizo Joomla?**

Haz un backup primero y luego abre Sistema, elige Joomla en Actualizar y haz clic en “Iniciar la actualización”, o ejecuta php cli/joomla.php core:update en el shell del servicio joomla. Con las actualizaciones automatizadas, activadas en un sitio nuevo al que puede llegar el servicio de actualizaciones de Joomla, el sitio instala por sí solo las versiones menores y de parche.

**¿Cómo hago un sitio multilingüe en Joomla?**

Solo con el núcleo: instala los idiomas, publica un idioma de contenido para cada uno, activa el plugin “Sistema - Filtrar idiomas”, crea un elemento de menú de inicio por idioma y asocia cada artículo con sus traducciones en su pestaña Asociaciones.

**¿Por qué Joomla pide una contraseña de 12 caracteres?**

Un sitio nuevo de Joomla pide contraseñas de 12 caracteres como mínimo, también la del Super Usuario. Esta plantilla le pasa tu contraseña de administrador al instalador de Joomla, que rechaza una más corta: el sitio se inicia en cuanto ADMIN_PASSWORD en .env es más larga.

**¿Cuánta memoria y disco necesita Joomla?**

Joomla es ligero: unos 170 MB de memoria con MariaDB, y el sitio crece con las imágenes y los archivos que subes. En Pethost le basta el plan Starter, y queda sitio para otras apps a su lado.

## El archivo Docker Compose de Joomla

La plantilla es este compose.yaml y las variables que se escriben en el .env del proyecto al crearlo. Pethost ejecuta el archivo tal como está escrito.

**Contenedores:** joomla (joomla:6-apache), db (mariadb:11.8).

**Volúmenes, en el backup de cada noche:** joomla, db.

```
services:
  joomla:
    image: joomla:6-apache
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy
    environment:
      JOOMLA_DB_HOST: db
      JOOMLA_DB_NAME: joomla
      JOOMLA_DB_USER: joomla
      JOOMLA_DB_PASSWORD: ${DB_PASSWORD}
      SITE_NAME: ${HOST}
      ADMIN_USERNAME: ${ADMIN_USERNAME}
      ADMIN_EMAIL: ${ADMIN_EMAIL}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    # A new Joomla opens its web installer to whoever comes first. So the image's entrypoint is
    # run first only to copy Joomla into the volume and make the database, Joomla's own CLI
    # installer then makes the site and its Super User from the fields, and Apache starts only
    # once the site is installed: a refusal (Joomla takes a password of 12 characters at least)
    # stops the start, says why in the logs, and is tried again at the next.
    #
    # PHP's own upload limit is 2 MB, too little for a photo, and the image has no variable for it.
    entrypoint:
      - sh
      - -c
      - |
        set -e
        printf 'upload_max_filesize = 64M\npost_max_size = 64M\n' > /usr/local/etc/php/conf.d/uploads.ini
        /entrypoint.sh apache2 -v > /dev/null
        if [ -e installation/joomla.php ]; then
          php installation/joomla.php install --no-interaction \
            --site-name="$$SITE_NAME" \
            --admin-user="$$ADMIN_USERNAME" \
            --admin-username="$$ADMIN_USERNAME" \
            --admin-password="$$ADMIN_PASSWORD" \
            --admin-email="$$ADMIN_EMAIL" \
            --db-type=mysqli \
            --db-host="$$JOOMLA_DB_HOST" \
            --db-user="$$JOOMLA_DB_USER" \
            --db-pass="$$JOOMLA_DB_PASSWORD" \
            --db-name="$$JOOMLA_DB_NAME" \
            --db-prefix=jos_ \
            --db-encryption=0
          rm -rf installation
          chown -R www-data:www-data .
          chmod 444 configuration.php
        fi
        exec /entrypoint.sh apache2-foreground
    volumes:
      - joomla:/var/www/html

  db:
    image: mariadb:11.8
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: joomla
      MARIADB_USER: joomla
      MARIADB_PASSWORD: ${DB_PASSWORD}
      MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
    volumes:
      - db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 5s
      timeout: 5s
      retries: 20
      start_period: 30s

volumes:
  joomla:
  db:
```

[compose.yaml](https://pethost.dev/templates/joomla/compose.yaml)[Verla en GitHub](https://github.com/pethost-dev/templates/tree/main/joomla)

## [Más en Sitios web y tiendas](https://pethost.dev/es/templates/websites/)

- [**WordPress**Un creador de sitios web y blogs con temas y plugins](https://pethost.dev/es/templates/wordpress/)
- [**Ghost**Una plataforma de publicación para blogs y newsletters](https://pethost.dev/es/templates/ghost/)
- [**Grav**Un CMS de archivos planos: una web o un blog rápidos con panel de administración y sin base de datos](https://pethost.dev/es/templates/grav/)
- [**Spree Commerce**Una plataforma de comercio electrónico de código abierto: productos, pedidos, pagos y una API headless para cualquier tienda](https://pethost.dev/es/templates/spree/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Plantillas](https://pethost.dev/es/templates/)
- [Sobre nosotros](https://pethost.dev/about/)
- [Docs](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/es/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Términos](https://pethost.dev/terms/)
- [Privacidad](https://pethost.dev/privacy/)
- [Reembolsos](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bases de datos

- [Postgres](https://pethost.dev/es/postgres/)

Comparativas

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/es/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/es/blog/coolify-cloud-vs-dokploy-cloud/)
- [Precios de Railway vs Render vs Fly.io](https://pethost.dev/es/blog/railway-vs-render-vs-fly-io-pricing/)
- [Hosting gestionado para Docker Compose](https://pethost.dev/es/blog/managed-docker-compose-hosting/)

Alternativas

- [Alternativas a Railway](https://pethost.dev/es/blog/railway-alternatives/)
- [Alternativas a Heroku](https://pethost.dev/es/blog/heroku-alternatives/)
- [Alternativas a Dokploy](https://pethost.dev/es/blog/dokploy-alternatives/)
- [Alternativas a Coolify](https://pethost.dev/es/blog/coolify-alternatives/)
- [Alternativas a Render](https://pethost.dev/es/blog/render-alternatives/)
- [Alternativas a Sliplane](https://pethost.dev/es/blog/sliplane-alternatives/)
