Wordpress-docker-compose-Konfiguration mit Traefik-Reverse-Proxy
English
Deutsch
Dies ist meine docker-compose-Konfiguration für eine Wordpress-Seite mit einem Traefik-Reverse-Proxy.
Siehe Simple Traefik docker-compose setup with Lets Encrypt Cloudflare DNS-01 & TLS-ALPN-01 & HTTP-01 challenges für meine Traefik-Konfiguration.
docker-compose.yml
services:
mariadb:
image: mariadb:latest
environment:
- MYSQL_DATABASE=wordpress
- MYSQL_USER=wordpress
- MYSQL_PASSWORD=${MARIADB_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
- MARIADB_AUTO_UPGRADE=1
volumes:
- ./mariadb_data:/var/lib/mysql
restart: unless-stopped
healthcheck:
test: mysqladmin -p${MARIADB_ROOT_PASSWORD} ping -h localhost
interval: 20s
start_period: 10s
timeout: 10s
retries: 3
wordpress:
image: wordpress:6-apache
depends_on:
- mariadb
ports:
- 24354:80
restart: always
environment:
- WORDPRESS_DB_HOST=mariadb:3306
- WORDPRESS_DB_USER=wordpress
- WORDPRESS_DB_NAME=wordpress
- WORDPRESS_DB_PASSWORD=${MARIADB_PASSWORD}
volumes:
- ./wordpress:/var/www/html
labels:
- "traefik.enable=true"
- "traefik.http.routers.wordpress-my-domain.rule=Host(`my-domain.com`) || Host(`www.my-domain.com`)"
- "traefik.http.routers.wordpress-my-domain.entrypoints=websecure"
- "traefik.http.routers.wordpress-my-domain.tls.certresolver=cloudflare-ec384"
- "traefik.http.routers.wordpress-my-domain.tls.domains[0].main=my-domain.com"
- "traefik.http.routers.wordpress-my-domain.tls.domains[0].sans=*.my-domain.com"
wpcli:
depends_on:
- wordpress
image: wordpress:cli
user: 1000:1000
command: tail -f /dev/null
volumes:
- ./wordpress:/var/www/html
environment:
- WORDPRESS_DB_HOST=mariadb:3306
- WORDPRESS_DB_USER=wordpress
- WORDPRESS_DB_NAME=wordpress
- WORDPRESS_DB_PASSWORD=${MARIADB_PASSWORD}Dies hängt von einer .env-Datei wie dieser ab:
wordpress_env.env
MARIADB_PASSWORD=random-password
MARIADB_ROOT_PASSWORD=another-random-passwordSie können die Passwörter z. B. mit pwgen 30 generieren. Ich empfehle, eindeutige Passwörter zu wählen
generate_wordpress_passwords.sh
echo "MARIADB_PASSWORD=$(pwgen 30)" >> .env
echo "MARIADB_ROOT_PASSWORD=$(pwgen 30)" >> .envIf this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow