Upgrade peekskog to PHP 8.4 and MySQL 8.4, fix traefik headers

- wordpress:5.6.0-apache (PHP 7.4) -> wordpress:php8.4-apache
- mysql:5.7 -> mysql:8.4 with new datadir peekskog/db84 (imported
  from dump; old 5.7 datadir kept for rollback)
- Remove duplicate router middlewares label so www-redirect is applied
- Add upgrade-insecure-requests to CSP and a Permissions-Policy header
- Ignore local peek_backup/ directory

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Simon 2026-10-26 22:17:20 +01:00
parent c64be0ab02
commit 73a3381217
2 changed files with 7 additions and 6 deletions

3
.gitignore vendored
View File

@ -18,4 +18,5 @@ letsencrypt/
letsencrypt_peek/ letsencrypt_peek/
zigbee2mqtt/configuration_*.yaml zigbee2mqtt/configuration_*.yaml
zigbee_home_2/database.db zigbee_home_2/database.db
ha/config/.cache/** ha/config/.cache/**
peek_backup/

View File

@ -10,7 +10,7 @@ services:
max-file: "3" max-file: "3"
depends_on: depends_on:
- db_peek - db_peek
image: wordpress:5.6.0-apache image: wordpress:php8.4-apache
volumes: volumes:
- ${DIR_LOCAL}/peekskog/wp:/var/www/html - ${DIR_LOCAL}/peekskog/wp:/var/www/html
- ./wp/php.conf.ini:/usr/local/etc/php/conf.d/uploads.ini - ./wp/php.conf.ini:/usr/local/etc/php/conf.d/uploads.ini
@ -34,8 +34,8 @@ services:
- "traefik.http.routers.peek-secure.entrypoints=web-secure" - "traefik.http.routers.peek-secure.entrypoints=web-secure"
- "traefik.http.routers.peek-secure.rule=Host(`peekskog.se`) || Host(`www.peekskog.se`)" - "traefik.http.routers.peek-secure.rule=Host(`peekskog.se`) || Host(`www.peekskog.se`)"
- "traefik.http.routers.peek-secure.middlewares=www-redirect,peek-middle" - "traefik.http.routers.peek-secure.middlewares=www-redirect,peek-middle"
- "traefik.http.routers.peek-secure.middlewares=peek-middle" - "traefik.http.middlewares.peek-middle.headers.contentSecurityPolicy=frame-ancestors 'self' peekskog.se; upgrade-insecure-requests"
- "traefik.http.middlewares.peek-middle.headers.contentSecurityPolicy=frame-ancestors 'self' peekskog.se" - "traefik.http.middlewares.peek-middle.headers.permissionsPolicy=camera=(), microphone=(), geolocation=(), payment=(), usb=()"
- "traefik.http.middlewares.peek-middle.headers.framedeny=true" - "traefik.http.middlewares.peek-middle.headers.framedeny=true"
- "traefik.http.middlewares.peek-middle.headers.stsSeconds=155520011" - "traefik.http.middlewares.peek-middle.headers.stsSeconds=155520011"
- "traefik.http.middlewares.peek-middle.headers.stsIncludeSubdomains=true" - "traefik.http.middlewares.peek-middle.headers.stsIncludeSubdomains=true"
@ -52,14 +52,14 @@ services:
db_peek: db_peek:
container_name: db_peek container_name: db_peek
image: mysql:5.7 image: mysql:8.4
logging: logging:
driver: "json-file" driver: "json-file"
options: options:
max-size: "5m" max-size: "5m"
max-file: "3" max-file: "3"
volumes: volumes:
- ${DIR_LOCAL}/peekskog/db:/var/lib/mysql - ${DIR_LOCAL}/peekskog/db84:/var/lib/mysql
restart: always restart: always
networks: networks:
- backend - backend