Hier zeige ich euch, wie ihr mittels Docker sehr schnell phpMyAdmin installieren könnt. Traefik dient uns hier als Reverse Proxy und stellt später den Dienst verschlüsselt per TLS bereit.
Datum | Änderungen |
13.10.2020 | Erstellung dieser Anleitung |
10.11.2022 | Anpassung an neue Traefik Labels, neue Docker Compose Version |
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- Traefik v2 – Reverse-Proxy mit CrowdSec einrichten
2. Ordner anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/phpmyadmin
3. Docker Compose anlegen
Nun legen wir die eigentliche Docker Datei an. Hierfür habe ich mir die offizielle phpmyadmin Compose genommen und diese abgeändert für Traefik.
nano /opt/containers/phpmyadmin/docker-compose.yml
version: '3.1' services: phpmyadmin: image: phpmyadmin/phpmyadmin environment: PMA_ARBITRARY: 1 restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.phpmyadmin.entrypoints=https" - "traefik.http.routers.phpmyadmin.rule=(Host(`phpadmin.euredomain.de`))" - "traefik.http.routers.phpmyadmin.tls=true" - "traefik.http.routers.phpmyadmin.tls.certresolver=http" - "traefik.http.routers.phpmyadmin.service=phpmyadmin" - "traefik.http.services.phpmyadmin.loadbalancer.server.port=80" - "traefik.docker.network=proxy" - "traefik.http.routers.phpmyadmin.middlewares=default@file" networks: - proxy - default db: image: mariadb restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: unsicheresPasswort networks: - default networks: proxy: external: true
Notwendige Anpassungen:
- eure Domain bei Traefik anpassen („phpadmin.euredomain.de“)
4. phpMyAdmin starten
Nun könnt ihr wie gewohnt den Container starten:
docker compose -f /opt/containers/phpmyadmin/docker-compose.yml up -d
Nun geht ihr auf folgende Webseite: phpadmin.euredomain.de
Die Zugangsdaten für diese Datenbank haben wir in der docker-compose.yml festgelegt.
Diese lauten:
- Server: db
- Benutzer: root
- Passwort: unsicheresPasswort
Anschließend solltet ihr folgendes sehen:
5. Quellen
https://hub.docker.com/r/phpmyadmin/phpmyadmin/
Hallo Christian, vielen Dank für das Tutorial. Ich habe phpmyadmin mittels Docker-Compose und Traefik installiert. Allerdings bekomme ich folgenden Timeout, obwohl ich die IP des richtigen Docker Datenbanken Containers angebe. Alle anderen Daten sind auch korrekt. Hast du vlt ne Idee? LG
Hallo Zusammen,
ich habe mariadb und phpmyadmin installiert im selben Netzwerk proxy. Die Verbindung funktioniert und ich kann auch eine Datenbank anlegen. Funktioniert ohne Probleme.
Aber wie funktioniert das, wenn ich jetzt einen Container installieren möchte zum Beispiel Planka und dort statt die – DATABASE_URL=postgresql://postgres@postgres/planka nicht verwenden möchte sondern eine Datenbank in mariadb nutzen möchte?
Habe es auch installiert. Aber weiß nun auch nicht weiter. Welchen Server muss ich denn hier angeben. Könnte man mal ein Beispiel anhand der piwigo-db zeigen?
Hallo Christian
ich habe gemäss Deinen Angaben phpmyadmin ohne Problem zum laufen gebracht.
Jetzt komme ich aber nicht weiter, weil ich gerne die DB von nextcloud öffnen möchte.
Die habe ich auch gemäss Deinen Angaben installiert.
Wäre froh, denn ich würde gerne die Datenbank mit phpmyadmin backupen.
Können auch andere MariaDB ebenfalls benützt werden?