Files
gustavoo-me/compose.yaml
T
Gustavo 0ea3651fb5 Automatic AI Posts, setup automatizado e seeder de permalinks/avatar
Plugin automatic-ai-posts (v2.0.0)
- Pipeline completo: coleta de feeds RSS/Atom, filtro por IA, reescrita,
  categoria, imagem de capa e agendamento
- Página de configuração com teste real do provedor de IA
- Editor: botão para refazer imagem de capa e metadados, textos em PT-BR
- Ajuda com botão Pix (copia-e-cola + QR) e sem nota de avaliação
- Cache-busting por mtime nos assets do admin

Tema gustavoo-portfolio
- Marca do cabeçalho reduzida a "Gustavo"
- Suporte a título próprio da marca

Setup (docker/wp-init.sh, compose.yaml)
- Plugins de terceiros (Post Views Counter, Rank Math, Site Kit)
  instalados do WordPress.org em vez de versionados
- Falha explícita ao final se algum plugin obrigatório não instalar
- WPCLI_UID/WPCLI_GID configuráveis

Seeder do tema
- Links permanentes "Dia e nome" e avatar "Iniciais" aplicados
  apenas em instalação nova, com regravação do .htaccess
2026-11-02 13:33:30 -03:00

92 lines
3.0 KiB
YAML

services:
db:
image: mariadb:11
environment:
MARIADB_DATABASE: ${WORDPRESS_DB_NAME}
MARIADB_USER: ${WORDPRESS_DB_USER}
MARIADB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
volumes:
- db_data:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
wordpress:
container_name: gustavoo-me
image: wordpress:php8.3-apache
ports:
- "${WORDPRESS_PORT:-8080}:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_NAME: ${WORDPRESS_DB_NAME}
WORDPRESS_DB_USER: ${WORDPRESS_DB_USER}
WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
volumes:
- wordpress_data:/var/www/html
- ./wp-content/themes:/var/www/html/wp-content/themes
- ./wp-content/plugins:/var/www/html/wp-content/plugins
- ./php.ini:/usr/local/etc/php/conf.d/uploads.ini
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
redis:
image: redis:7-alpine
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 10
start_period: 10s
wpcli:
image: wordpress:cli-php8.3
user: "${WPCLI_UID:-33}:${WPCLI_GID:-33}"
depends_on:
wordpress:
condition: service_started
redis:
condition: service_healthy
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_NAME: ${WORDPRESS_DB_NAME}
WORDPRESS_DB_USER: ${WORDPRESS_DB_USER}
WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
WORDPRESS_PORT: ${WORDPRESS_PORT:-8080}
WORDPRESS_SITE_URL: ${WORDPRESS_SITE_URL:-http://localhost:${WORDPRESS_PORT:-8080}}
WORDPRESS_SITE_TITLE: ${WORDPRESS_SITE_TITLE:-Gustavo Portfolio}
WORDPRESS_ADMIN_USER: ${WORDPRESS_ADMIN_USER:-admin}
WORDPRESS_ADMIN_PASSWORD: ${WORDPRESS_ADMIN_PASSWORD:-admin}
WORDPRESS_ADMIN_EMAIL: ${WORDPRESS_ADMIN_EMAIL:-admin@example.com}
WP_REDIS_HOST: ${WP_REDIS_HOST:-redis}
WP_REDIS_PORT: ${WP_REDIS_PORT:-6379}
WP_REDIS_PASSWORD: ${WP_REDIS_PASSWORD:-}
WP_REDIS_DATABASE: ${WP_REDIS_DATABASE:-}
WP_EXTRA_PLUGINS: ${WP_EXTRA_PLUGINS:-post-views-counter seo-by-rank-math google-site-kit}
WP_LOCALE: ${WP_LOCALE:-pt_BR}
WP_SKIP_UPDATES: ${WP_SKIP_UPDATES:-}
WP_THEME: ${WP_THEME:-gustavoo-portfolio}
WP_KEEP_THEMES: ${WP_KEEP_THEMES:-}
FORBIDDEN_PATTERN: ${FORBIDDEN_PATTERN:-}
WP_ALLOW_FORBIDDEN_PLUGINS: ${WP_ALLOW_FORBIDDEN_PLUGINS:-}
HOME: /tmp
volumes:
- wordpress_data:/var/www/html
- ./wp-content/themes:/var/www/html/wp-content/themes
- ./wp-content/plugins:/var/www/html/wp-content/plugins
- ./docker/wp-init.sh:/wp-init.sh:ro
entrypoint: ["sh", "/wp-init.sh"]
restart: "no"
volumes:
db_data:
wordpress_data:
redis_data: