66 lines
1.9 KiB
YAML
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
|