- Eliminado el servicio openwebui del pack wordpress (no estaba integrado con WP; el chat IA vive ahora dentro del editor de WordPress). - Plugins IA oficiales preinstalados y configurados en el arranque: 'AI' (AI Experiments) + 'AI Provider for Ollama' (connector), host http://ollama:11434 (red interna del compose, sin puerto publicado). - Autoconfig via contenedor oficial wordpress:cli (--volumes-from): espera a core is-installed, instala plugins y setea el option. Si WP aun no esta instalado, aviso y re-ejecucion tras el asistente. - CPU cap dinamico en hermes/openclaw (min 6, nproc) y OLLAMA_CPUS parametrizado en compose (6.0 default) — evita fallo en hosts de 4 cores. - .gitignore raiz (**/.env, *.gguf, override GPU). - GATE A PASS: subagente independiente (5 findings aplicados: EAP 5.1, .gitignore, fallo autoconfig visible, red vacia, indentacion). - E2E verificado en VPS: plugins activos + option host + provider responde /v1/chat/completions del modelo local.
75 lines
2.0 KiB
YAML
75 lines
2.0 KiB
YAML
# d0a1 pack — WordPress + IA
|
|
# Tu WordPress con IA local. Genera borradores, modera comentarios.
|
|
#
|
|
# Local: ./deploy.sh local → http://localhost:8080
|
|
# VPS: ./deploy.sh vps → http://TU_IP:8080
|
|
#
|
|
# Requisitos: Docker + 6 GB RAM mínimo
|
|
# Incluye: WordPress + MariaDB + Ollama (IA local) + plugins IA (AI + AI Provider for Ollama)
|
|
services:
|
|
db:
|
|
container_name: d0a1-wp-db
|
|
image: mariadb:11.8
|
|
restart: unless-stopped
|
|
volumes:
|
|
- wp_db:/var/lib/mysql
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:?Set MYSQL_ROOT_PASSWORD in .env}
|
|
MYSQL_DATABASE: wordpress
|
|
MYSQL_USER: wordpress
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD:?Set MYSQL_PASSWORD in .env}
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 20s
|
|
|
|
wordpress:
|
|
container_name: d0a1-wp
|
|
image: wordpress:7.1-php8.4-apache
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${WP_PORT:-8080}:80"
|
|
volumes:
|
|
- wp_data:/var/www/html
|
|
environment:
|
|
WORDPRESS_DB_HOST: db:3306
|
|
WORDPRESS_DB_NAME: wordpress
|
|
WORDPRESS_DB_USER: wordpress
|
|
WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD:?Set MYSQL_PASSWORD in .env}
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
|
|
ollama:
|
|
container_name: d0a1-wp-ollama
|
|
image: ollama/ollama:0.33.3
|
|
restart: unless-stopped
|
|
# Sin publicar puerto: solo lo usa WordPress (red interna del compose).
|
|
expose:
|
|
- "11434"
|
|
volumes:
|
|
- ollama_data:/root/.ollama
|
|
environment:
|
|
OLLAMA_HOST: "0.0.0.0"
|
|
OLLAMA_KEEP_ALIVE: "-1"
|
|
healthcheck:
|
|
test: ["CMD", "ollama", "ps"]
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 30s
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 6G
|
|
cpus: "${OLLAMA_CPUS:-6.0}"
|
|
|
|
volumes:
|
|
wp_db:
|
|
driver: local
|
|
wp_data:
|
|
driver: local
|
|
ollama_data:
|
|
driver: local |