Arakava CT101: WordPress-Docker dauerhaft tunen (Phase 1).
Compose, Apache MPM und MySQL my.cnf versionieren; mem_limits, InnoDB 512M und CT-RAM 6 GB gegen Worker-Stau.
This commit is contained in:
parent
fb0b1fe2a7
commit
c2295c49db
5 changed files with 84 additions and 0 deletions
|
|
@ -26,3 +26,21 @@ Manuelle Projektdoku fuer dauerhafte Hinweise, die **nicht** in die auto-generie
|
|||
- Das alte `C`-Symbol von `Corona-Transition` wird fuer neue Beitraege nicht mehr verwendet.
|
||||
- Fuer `Norbert Haering` wurde ein neues WordPress-Medium hinterlegt und dem Feed zugeordnet.
|
||||
- Ein Test-/Live-Post wurde nach der Umstellung erfolgreich auf WordPress veroeffentlicht.
|
||||
|
||||
## Docker CT101 (wordpress-v2)
|
||||
|
||||
Versionierte Compose + Tuning unter `docker/`:
|
||||
|
||||
| Datei | Zweck |
|
||||
|-------|-------|
|
||||
| `docker/docker-compose.yml` | Stack + mem_limit (app 2g, mysql 1g) |
|
||||
| `docker/apache/mpm_prefork.conf` | Apache Worker-Limit |
|
||||
| `docker/mysql/my.cnf` | InnoDB buffer 512M, max_connections 50 |
|
||||
| `docker/deploy.sh` | Deploy nach `/opt/wordpress/` |
|
||||
|
||||
CT-RAM: **6 GB** (Host pve-hetzner). Deploy:
|
||||
|
||||
```bash
|
||||
cd arakava-news/docker && ./deploy.sh
|
||||
# oder manuell auf hetzner: pct set 101 -memory 6144
|
||||
```
|
||||
|
|
|
|||
8
arakava-news/docker/apache/mpm_prefork.conf
Normal file
8
arakava-news/docker/apache/mpm_prefork.conf
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# CT101 Arakava — Docker mem_limit 2g, MySQL separat 1g
|
||||
<IfModule mpm_prefork_module>
|
||||
StartServers 3
|
||||
MinSpareServers 2
|
||||
MaxSpareServers 6
|
||||
MaxRequestWorkers 14
|
||||
MaxConnectionsPerChild 500
|
||||
</IfModule>
|
||||
16
arakava-news/docker/deploy.sh
Executable file
16
arakava-news/docker/deploy.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
# Deploy Docker-Stack nach CT101 /opt/wordpress
|
||||
set -euo pipefail
|
||||
SRC="$(cd "$(dirname "$0")" && pwd)"
|
||||
HOST="${1:-pve-hetzner}"
|
||||
echo "Deploy von $SRC nach CT101 via $HOST"
|
||||
ssh "$HOST" "mkdir -p /opt/wordpress/apache /opt/wordpress/mysql && rm -rf /opt/wordpress/mysql/my.cnf"
|
||||
ssh "$HOST" "pct exec 101 -- mkdir -p /opt/wordpress/apache /opt/wordpress/mysql && rm -rf /opt/wordpress/mysql/my.cnf 2>/dev/null || true"
|
||||
scp "$SRC/docker-compose.yml" "$HOST:/tmp/wp-compose.yml"
|
||||
scp "$SRC/apache/mpm_prefork.conf" "$HOST:/tmp/mpm_prefork.conf"
|
||||
scp "$SRC/mysql/my.cnf" "$HOST:/tmp/my.cnf"
|
||||
ssh "$HOST" "pct push 101 /tmp/wp-compose.yml /opt/wordpress/docker-compose.yml && \
|
||||
pct push 101 /tmp/mpm_prefork.conf /opt/wordpress/apache/mpm_prefork.conf && \
|
||||
pct push 101 /tmp/my.cnf /opt/wordpress/mysql/my.cnf && \
|
||||
pct exec 101 -- bash -c 'cd /opt/wordpress && docker compose up -d'"
|
||||
echo "OK — pruefen: pct exec 101 -- docker stats --no-stream"
|
||||
37
arakava-news/docker/docker-compose.yml
Normal file
37
arakava-news/docker/docker-compose.yml
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# CT101 wordpress-v2 — Quelle der Wahrheit (Deploy: /opt/wordpress/)
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:8.0
|
||||
container_name: wordpress-mysql
|
||||
restart: always
|
||||
mem_limit: 1g
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: astral66
|
||||
MYSQL_DATABASE: wordpress
|
||||
MYSQL_USER: wordpress
|
||||
MYSQL_PASSWORD: astral66
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
- ./mysql/my.cnf:/etc/mysql/conf.d/zz-custom.cnf:ro
|
||||
|
||||
wordpress:
|
||||
image: wordpress:6.7-php8.2-apache
|
||||
container_name: wordpress-app
|
||||
restart: always
|
||||
mem_limit: 2g
|
||||
depends_on:
|
||||
- mysql
|
||||
ports:
|
||||
- "80:80"
|
||||
environment:
|
||||
WORDPRESS_DB_HOST: mysql
|
||||
WORDPRESS_DB_NAME: wordpress
|
||||
WORDPRESS_DB_USER: wordpress
|
||||
WORDPRESS_DB_PASSWORD: astral66
|
||||
volumes:
|
||||
- wp_data:/var/www/html
|
||||
- ./apache/mpm_prefork.conf:/etc/apache2/mods-enabled/mpm_prefork.conf:ro
|
||||
|
||||
volumes:
|
||||
mysql_data:
|
||||
wp_data:
|
||||
5
arakava-news/docker/mysql/my.cnf
Normal file
5
arakava-news/docker/mysql/my.cnf
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
[mysqld]
|
||||
# DB ~212 MB (2026-06) — ganzer Datensatz passt in Buffer
|
||||
innodb_buffer_pool_size = 512M
|
||||
innodb_buffer_pool_instances = 1
|
||||
max_connections = 50
|
||||
Loading…
Add table
Reference in a new issue