TYPO3 in Docker zu betreiben bietet den Vorteil, eine kon­sis­ten­te und isolierte Ent­wick­lungs­um­ge­bung zur Verfügung zu haben, die einfach be­reit­ge­stellt und gewartet werden kann.

Das sind die Vor­aus­set­zun­gen für TYPO3 in Docker

Bevor Sie mit der In­stal­la­ti­on von TYPO3 in Docker beginnen, müssen einige Vor­aus­set­zun­gen erfüllt sein:

  • In­stal­lier­tes Docker: Docker muss auf Ihrem System in­stal­liert und lauffähig sein. Laden Sie es von der of­fi­zi­el­len Docker-Website herunter und befolgen Sie die In­stal­la­ti­ons­an­wei­sun­gen.
  • Docker Compose: Zu­sätz­lich zu Docker benötigen Sie Docker Compose, ein Tool, mit dem Sie Multi-Container-An­wen­dun­gen wie TYPO3 einfach de­fi­nie­ren und ausführen können. Stellen Sie sicher, dass Docker Compose auf Ihrem System in­stal­liert ist. Es wird oft zusammen mit Docker in­stal­liert; ansonsten finden Sie die Anleitung in der Docker-Compose-Do­ku­men­ta­ti­on.
  • Ar­beits­spei­cher: 4 GB RAM sind aus­rei­chend für eine einfache TYPO3-Ent­wick­lungs­um­ge­bung mit wenigen Con­tai­nern (z. B. TYPO3, MySQL).
  • CPU: Ein Dual-Core-Prozessor kann bereits grund­le­gen­de Ent­wick­lungs­auf­ga­ben erfüllen.
  • Fest­plat­ten­spei­cher: 10 GB freier Spei­cher­platz sollten für Docker-Images, Docker-Container und die TYPO3-In­stal­la­ti­on min­des­tens gegeben sein. Emp­feh­lens­wert sind 20 bis 30 GB freier Spei­cher­platz, um genügend Ka­pa­zi­tä­ten für Da­ten­ban­ken, ver­schie­de­ne Container, Logs und Backups zu haben.
TYPO3 für Ihr Hosting Paket
  • Einfach: mit wenigen Klicks in­stal­liert
  • Sicher: SSL-Zer­ti­fi­kat inklusive
  • Schnell: PHP8, OPcache und SSD Webspace

Schritt-für-Schritt-Anleitung: TYPO3 in Docker betreiben

Sie können TYPO3 und seine Ab­hän­gig­kei­ten in separaten Con­tai­nern betreiben, was Konflikte mit anderen Projekten auf dem Host-System vermeidet. Im Folgenden erklären wir Ihnen aus­führ­lich alle In­stal­la­ti­ons­schrit­te.

Schritt 1: Erstellen eines neuen Pro­jekt­ver­zeich­nis­ses

Öffnen Sie Ihr Terminal oder Ihre Ein­ga­be­auf­for­de­rung und erstellen Sie ein neues Ver­zeich­nis für Ihr TYPO3-Projekt:

mkdir typo3-docker
bash

Wechseln Sie dann in dieses Ver­zeich­nis:

cd typo3-docker
bash

Schritt 2: docker-compose.yml-Datei erstellen

Nun legen Sie eine docker-compose.yml-Datei an, die die Kon­fi­gu­ra­ti­on für Ihre TYPO3-Umgebung definiert. Diese Datei be­schreibt, welche Container Sie benötigen und wie diese kon­fi­gu­riert werden.

Öffnen Sie einen Text­edi­tor und erstellen Sie die docker-compose.yml-Datei mit folgendem Inhalt:

version: '3'
services:
    typo3-db:
        image: mariadb:latest
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: password
            MYSQL_USER: typo3
            MYSQL_PASSWORD: password
            MYSQL_DATABASE: typo3
            MYSQL_CHARACTER_SET: utf8
            MYSQL_COLLATION: utf8_unicode_ci
        volumes:
            - db_data:/var/lib/mysql
        networks:
            - typo3
    typo3-web:
        image: martinhelmich/typo3:10
        restart: always
        ports:
            - "8080:80"
        volumes:
            - typo3_data:/var/www/html
        networks:
            - typo3
    phpmyadmin:
        image: phpmyadmin:latest
        restart: always
        ports:
            - '8088:80'
        depends_on:
            - typo3-db
        environment:
            PMA_HOST: typo3-db
            MYSQL_ROOT_PASSWORD: password
        networks:
            - typo3
networks:
    typo3:
volumes:
    db_data:
    typo3_data:
yaml

Erklärung der Kon­fi­gu­ra­ti­on:

  • version: Die Version des Docker-Compose-Formats.
  • services: Dieser Block be­schreibt die ver­schie­de­nen Container, die Docker startet. In dieser Kon­fi­gu­ra­ti­on gibt es drei Dienste: typo3-db, typo3-web und phpmyadmin.
  • typo3-web:
    • image: martinhelmich/typo3:10: Hier wird ein vor­ge­fer­tig­tes TYPO3-Docker-Image (Version 10) von Martin Helmich verwendet, das TYPO3 und seine Ab­hän­gig­kei­ten bereits enthält.
    • restart: always: Der Container wird bei Fehlern oder nach einem Neustart des Hosts au­to­ma­tisch neu gestartet.
    • 8080:80: Der Port 80 im Container (Standard-HTTP-Port) wird an Port 8080 des Hosts wei­ter­ge­lei­tet. Sie können TYPO3 also über http://localhost:8080 aufrufen.
    • typo3_data: /var/www/html: Das Volume typo3_data wird genutzt, um die TYPO3-Dateien zu speichern, damit Än­de­run­gen an den Dateien auch nach dem Neustart des Con­tai­ners erhalten bleiben. Im Container liegen die TYPO3-Dateien stan­dard­mä­ßig unter /var/www/html.
  • phpmyadmin:
    • image: phpmyadmin:latest: Dies gibt an, dass der Container die neueste Version von phpMy­Ad­min verwendet, einem Web­in­ter­face zur Ver­wal­tung von MySQL/MariaDB-Da­ten­ban­ken.
    • restart: always: Der Container wird bei Fehlern oder Neustarts au­to­ma­tisch neu gestartet.
    • 8088:80: Der Port 80 im phpMy­Ad­min-Container wird an Port 8088 des Hosts wei­ter­ge­lei­tet. Sie können phpMyAdmin über http://localhost:8088 erreichen.
    • depends_on: phpMyAdmin wird erst nach dem Ausführen des typo3-db-Con­tai­ners gestartet.
    • PMA_HOST: Dies be­zeich­net den Hostnamen der Datenbank; in diesem Fall typo3-db, da die Datenbank im gleichen Netzwerk liegt.
    • MYSQL_ROOT_PASSWORD: Das Passwort für den Root-Benutzer der MariaDB-Datenbank.
    • networks: Der phpMyAdmin-Container ist ebenfalls im Netzwerk typo3, was die Kom­mu­ni­ka­ti­on mit der Datenbank er­mög­licht.

Schritt 3: Ver­zeich­nis für TYPO3 anlegen

Erstellen Sie ein Ver­zeich­nis für die TYPO3-Dateien, das mit dem in der docker-compose.yml-Datei an­ge­ge­be­nen Pfad über­ein­stimmt:

mkdir typo3
bash

Schritt 4: Den Container starten

In Ihrem Pro­jekt­ver­zeich­nis führen Sie den folgenden Befehl aus, um die Container zu starten:

docker-compose up -d
bash

Die Option -d startet die Container im Hin­ter­grund (Detached Mode). Docker lädt die be­nö­tig­ten Images herunter und erstellt die Container.

Schritt 5: Den Status der Container über­prü­fen

Um den Status Ihrer Container zu über­prü­fen, verwenden Sie:

docker-compose ps
bash

Sie sollten eine Ausgabe sehen, die zeigt, dass sowohl der typo3-web- als auch der typo3-db-Container aktiv sind.

Schritt 6: TYPO3 in­stal­lie­ren

Öffnen Sie Ihren Web­brow­ser und gehen Sie zu http://localhost:8080. Sie sollten die TYPO3-In­stal­la­ti­ons­sei­te sehen. Befolgen Sie die Anleitung zur TYPO3-In­stal­la­ti­on:

  1. Sys­tem­über­prü­fung: TYPO3 überprüft die Ser­ver­kon­fi­gu­ra­ti­on.
  2. Da­ten­bank­kon­fi­gu­ra­ti­on: Geben Sie die ent­spre­chen­den An­mel­de­infor­ma­tio­nen für die Da­ten­bank­ver­bin­dung ein:
    • Da­ten­bank­typ: MySQL
    • Datenbank-Host: db
    • Da­ten­bank­na­me: typo3
    • Da­ten­bank­be­nut­zer: typo3
    • Da­ten­bank­pass­wort: password
    • Port: 3306
  3. Datenbank wählen: Wählen Sie eine be­stehen­de Datenbank oder legen Sie eine neue an.
  4. Admin-Zugang: Erstellen Sie ein Ad­mi­nis­tra­tor­kon­to, indem Sie die er­for­der­li­chen In­for­ma­tio­nen wie Be­nut­zer­na­men und Passwort eingeben.
  5. In­stal­lie­ren: Klicken Sie auf „In­stal­lie­ren“, um die In­stal­la­ti­on ab­zu­schlie­ßen.

Schritt 7: TYPO3 verwenden

Nach er­folg­rei­cher In­stal­la­ti­on können Sie sich mit Ihren Ad­mi­nis­tra­tor-An­mel­de­infor­ma­tio­nen anmelden. Rufen Sie http://localhost:8080/typo3 auf und loggen Sie sich ein.

Schritt 8: Container stoppen und entfernen

Wenn Sie die Container nicht mehr benötigen, können Sie diese mit folgendem Befehl stoppen:

docker-compose down
bash

Dieser Befehl stoppt die Container und entfernt sie. Die Da­ten­bank­da­ten bleiben jedoch erhalten, da sie in einem benannten Volume ge­spei­chert sind.

Schritt 9: Datenbank zu­rück­set­zen (optional)

Wenn Sie die Datenbank zu­rück­set­zen möchten, können Sie das Volume mit folgendem Befehl löschen:

docker volume rm typo3-docker_db_data
bash
Domain kaufen
Re­gis­trie­ren Sie Ihre perfekte Domain
  • Inklusive 1 SSL-Wildcard-Zer­ti­fi­kat pro Vertrag
  • Inklusive Domain Lock
  • Inklusive Domain Connect für einfache DNS-Ein­rich­tung
Zum Hauptmenü