checkvorteil/docker-compose.yml
2025-06-16 15:35:02 +02:00

66 lines
1.9 KiB
YAML

version: '3.8'
services:
wordpress:
image: wordpress:latest
container_name: checkvorteil-wordpress
restart: unless-stopped
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: checkvorteil
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
WORDPRESS_DB_NAME: checkvorteil_db
volumes:
- wordpress_data:/var/www/html
- ./:/var/www/html/wp-content/themes/checkvorteil
depends_on:
- db
networks:
- traefik
labels:
# Basis Traefik Konfiguration
- "traefik.enable=true"
- "traefik.docker.network=traefik"
# HTTP Router für Redirect
- "traefik.http.routers.checkvorteil-http.rule=Host(`checkvorteil.de`)"
- "traefik.http.routers.checkvorteil-http.entrypoints=web"
- "traefik.http.routers.checkvorteil-http.middlewares=https-redirect"
# HTTPS Router - WICHTIG: myresolver statt letsencrypt!
- "traefik.http.routers.checkvorteil-https.rule=Host(`checkvorteil.de`)"
- "traefik.http.routers.checkvorteil-https.entrypoints=websecure"
- "traefik.http.routers.checkvorteil-https.tls=true"
- "traefik.http.routers.checkvorteil-https.tls.certresolver=myresolver"
# Service
- "traefik.http.services.checkvorteil.loadbalancer.server.port=80"
# Redirect Middleware
- "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.https-redirect.redirectscheme.permanent=true"
db:
image: mysql:8.0
container_name: checkvorteil-mysql
restart: unless-stopped
environment:
MYSQL_DATABASE: checkvorteil_db
MYSQL_USER: checkvorteil
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
volumes:
- db_data:/var/lib/mysql
networks:
- traefik
labels:
- "traefik.enable=false"
volumes:
wordpress_data:
db_data:
networks:
traefik:
external: true