Ich zeige euch hier, wie ihr Joomla in wenigen Minuten mit Docker realisiert. Bei Joomla handelt es sich um eine open source CMS. Traefik dient uns hier als Reverse Proxy und stellt später den Dienst verschlüsselt per TLS bereit.
Datum | Änderungen |
---|---|
27.04.2020 | Erstellung dieser Anleitung |
29.05.2023 | Anpassung an neue Traefik Anleitung, Anpassung an Joomla 4.3 |
Als Grundlage meiner Anleitung dient die offizielle Joomla Anleitung für Docker.
0. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- TRAEFIK V2 + 3 – REVERSE-PROXY MIT CROWDSEC IM STACK EINRICHTEN
1. Ordner anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/joomla/{database,app}
2. Docker Compose anlegen
Nun legen wir die eigentliche Docker Datei an. Hierfür habe ich mir die offizielle Joomla Compose genommen und diese abgeändert für Traefik.
nano /opt/containers/joomla/docker-compose.yml
Inhalt
version: '3.1' services: joomla: image: joomla restart: unless-stopped environment: JOOMLA_DB_HOST: joomladb JOOMLA_DB_PASSWORD: example ## Hier Passwort eingeben ## volumes: - ./app:/var/www/html labels: - "traefik.enable=true" - "traefik.http.routers.joomla.entrypoints=websecure" - "traefik.http.routers.joomla.rule=Host(`joomla.euredomain.de`)" - "traefik.http.routers.joomla.tls=true" - "traefik.http.routers.joomla.tls.certresolver=http_resolver" - "traefik.http.routers.joomla.service=joomla" - "traefik.http.services.joomla.loadbalancer.server.port=80" - "traefik.docker.network=proxy" - "traefik.http.routers.joomla.middlewares=default@file" networks: - proxy - default joomladb: image: mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: example ## Hier selbes Passwort eingeben ## volumes: - ./database:/var/lib/mysql networks: - default networks: proxy: external: true
Notwendige Anpassungen:
- MySQL Passwort ändern
- eure Domain bei Traefik anpassen („joomla.euredomain.de“)
Wenn ihr Joomla auf eurer “Hauptdomain” haben wollt, so gebt ihr folgendes ein:
"traefik.http.routers.joomla-app.rule=Host(`www.euredomain.de`,`euredomain.de`)"
3. Joomla starten
Joomla startet ihr wie gewohnt mit folgendem Befehl:
docker compose -f /opt/containers/joomla/docker-compose.yml up -d
4. Joomla einrichten
Wenn ihr nun auf “joomla.euredomain.de” geht, dann solltet ihr direkt zur Konfiguration kommen. Hier könnt ihr dann eure Sprache wählen sowie einen Namen vergeben.
Anschließend müsst ihr einen Benutzer anlegen.
Nun müsst ihr die Verbindung zur Datenbank herstellen. Gebt dazu folgendes ein:
- Datenbanktyp: MySQLi
- Datenbankserver: joomladb
- Datenbank Benutzer: root
- Datenbank Passwort: euer Passwort aus Schritt 2
Wenn alles korrekt war, dann habt ihr Joomla nun fertig eingerichtet.
5. Quellen
https://hub.docker.com/_/joomla/