---
title: "Joomla Docker Compose und Hosting mit einem Klick"
description: "Joomla selbst hosten: das Open-Source-CMS für Websites, mit mehrsprachigen Inhalten und Zugriffsebenen ab Werk. Joomla 6 mit MariaDB, mit einem Klick."
---

[← Alle Vorlagen](https://pethost.dev/de/templates/) · [Websites und Shops](https://pethost.dev/de/templates/websites/)

# Joomla mit einem Klick deployen

Das Open-Source-CMS für Websites, mit mehreren Sprachen, Zugriffsebenen und Tausenden Erweiterungen

Eine selbst gehostete Alternative zu Wix und Squarespace.

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

## Was ist Joomla?

Joomla ist ein kostenloses Open-Source-Content-Management-System für Websites aller Art, von den Seiten eines Vereins bis zur mehrsprachigen Website eines Unternehmens. Beiträge werden in Kategorien abgelegt und über Menüs und Module angezeigt, und schon der Kern bringt das Template Cassiopeia, eine Medienverwaltung, Kontakte mit ihren Formularen, Schlagwörter, die Volltextsuche „Suchindex“ und suchmaschinenfreundliche URLs mit. Eine mehrsprachige Website braucht keine Erweiterung: Jede Sprache bekommt ihre Inhalte und ihre Startseite, und Beiträge werden mit ihren Übersetzungen verknüpft. Benutzergruppen und Zugriffsebenen regeln, wer was sieht und bearbeitet, und das Joomla Extensions Directory listet über 5.000 Erweiterungen.

Diese Vorlage betreibt Joomla 6 aus dem offiziellen Image mit MariaDB und installiert es beim ersten Start aus den Feldern, sodass der Web-Installer nie für Fremde offen steht. Die Dateien von Joomla liegen in einem Volume und werden im Administrator aktualisiert, und seit Joomla 5.4 installiert eine Website, die der Update-Dienst von Joomla erreicht, Minor- und Patch-Releases selbst. Der Haken: Auf eine neue Hauptversion stellst du von Hand um, sobald deine Erweiterungen sie unterstützen.

## Joomla-Hosting auf Pethost

1. Du meldest dich bei Pethost an, mit Passkey, GitHub oder Google. Noch keine Maschine? Du wählst einen Tarif, und der Link wartet, bis sie bereit ist.
2. „Neues Projekt“ öffnet sich bei Joomla. Du füllst aus, was die App braucht, und klickst auf „Projekt erstellen“: **E-Mail**, **Benutzername**, **Admin-Passwort**.
3. In ein, zwei Minuten läuft Joomla unter eigener Adresse mit HTTPS. Die Secrets werden zufällig erzeugt, und die Daten sind im nächtlichen Backup.
4. Es ist ein Projekt wie jedes andere: Du oder dein Agent könnt es ändern, zurückrollen oder wiederherstellen.

## Fragen zu Joomla

**Ist Joomla kostenlos?**

Ja. Joomla ist kostenlos und Open Source unter der GNU General Public License, Version 2 oder neuer. Freiwillige entwickeln es, und die gemeinnützige Organisation Open Source Matters leitet das Projekt.

**Wird Joomla noch gepflegt?**

Ja. Joomla 6.2 ist am 13. Oktober 2026 erschienen, Joomla 6 bekommt Bugfixes bis zum 17. Oktober 2028 und Sicherheitsupdates bis zum 16. Oktober 2029, und Joomla 6.3 ist für April 2027 geplant.

**Wie aktualisiere ich Joomla?**

Mach zuerst ein Backup, dann öffne „System“, wähl unter „Updates“ den Eintrag „Joomla“ und klick auf „Update starten“, oder führ php cli/joomla.php core:update in der Shell des Service joomla aus. Die Option „Automatische Updates“ ist bei einer neuen Website, die der Update-Dienst von Joomla erreicht, eingeschaltet, und dann installiert Joomla Minor- und Patch-Releases selbst.

**Wie baue ich mit Joomla eine mehrsprachige Website?**

Mit dem Kern allein: Installiere die Sprachen, veröffentliche für jede eine Inhaltssprache, schalte das Plugin „System – Sprachenfilter“ ein, leg pro Sprache einen Menüeintrag als Startseite an und verknüpfe jeden Beitrag im Tab „Verknüpfungen“ mit seinen Übersetzungen.

**Warum verlangt Joomla ein Passwort mit 12 Zeichen?**

Eine neue Joomla-Website verlangt Passwörter mit mindestens 12 Zeichen, auch für den Super Benutzer. Diese Vorlage gibt dein Admin-Passwort an den Installer von Joomla weiter, der ein kürzeres ablehnt: Die Website startet dann, sobald ADMIN_PASSWORD in der .env länger ist.

**Wie viel RAM und Speicherplatz braucht Joomla?**

Joomla ist leicht: etwa 170 MB RAM mit MariaDB, und die Website wächst mit den Bildern und Dateien, die du hochlädst. Auf Pethost reicht dafür der Tarif Starter, mit Platz für weitere Apps daneben.

## Joomla: die Docker-Compose-Datei

Die Vorlage ist diese compose.yaml und die Variablen, die beim Erstellen in die .env des Projekts geschrieben werden. Pethost führt die Datei so aus, wie sie geschrieben ist.

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

**Volumes, im nächtlichen Backup:** 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)[Auf GitHub ansehen](https://github.com/pethost-dev/templates/tree/main/joomla)

## [Mehr in Websites und Shops](https://pethost.dev/de/templates/websites/)

- [**WordPress**Ein Baukasten für Websites und Blogs, mit Themes und Plugins](https://pethost.dev/de/templates/wordpress/)
- [**Ghost**Eine Publishing-Plattform für Blogs und Newsletter](https://pethost.dev/de/templates/ghost/)
- [**Grav**Ein Flat-File-CMS: eine schnelle Website oder ein Blog mit Admin-Bereich und ohne Datenbank](https://pethost.dev/de/templates/grav/)
- [**Spree Commerce**Eine Open-Source-E-Commerce-Plattform: Produkte, Bestellungen, Zahlungen und eine Headless-API für jeden Storefront](https://pethost.dev/de/templates/spree/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Vorlagen](https://pethost.dev/de/templates/)
- [Über uns](https://pethost.dev/about/)
- [Doku](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/de/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [AGB](https://pethost.dev/terms/)
- [Datenschutz](https://pethost.dev/privacy/)
- [Erstattung](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Datenbanken

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

Vergleiche

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

Alternativen

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