Files
gureametsabilagun/docker-compose.yml
Josep Piguillem 0b2c9f271f Web de Gure Ametsa Bi Lagun en WordPress para Dokploy
- Docker Compose (WordPress + MariaDB) listo para Dokploy, con instalación
  automática por etapas: idiomas, páginas, menús y plugins recomendados.
- Web bilingüe castellano / euskera con Polylang.
- Tema propio «gure-ametsa»: diseño inspirado en Beargrass Animal Rescue,
  personalizable desde Apariencia → Personalizar (paletas, tipografías,
  secciones de portada ordenables) y patrones de bloques propios.
- Plugin mu «gure-ametsa-core»: animales en adopción con ficha y filtros,
  carrusel y formulario de contacto/adopción.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 16:21:26 +02:00

91 lines
3.4 KiB
YAML

# Gure Ametsa Bi Lagun — WordPress para Dokploy (Docker Compose)
#
# En Dokploy: crea un servicio "Compose", apunta a este repositorio,
# define las variables de .env.example en la pestaña "Environment" y
# añade el dominio en "Domains" (servicio: wordpress, puerto: 80).
services:
wordpress:
build: .
image: gure-ametsa-wordpress:latest
restart: unless-stopped
init: true
depends_on:
db:
condition: service_healthy
expose:
- "80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_NAME: ${DB_NAME:-wordpress}
WORDPRESS_DB_USER: ${DB_USER:-wordpress}
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD:?Define DB_PASSWORD}
WORDPRESS_TABLE_PREFIX: ${DB_TABLE_PREFIX:-ga_}
WP_URL: ${WP_URL:?Define WP_URL (p. ej. https://gureametsabilagun.eus)}
WP_TITLE: ${WP_TITLE:-Gure Ametsa Bi Lagun}
WP_ADMIN_USER: ${WP_ADMIN_USER:-admin}
WP_ADMIN_PASSWORD: ${WP_ADMIN_PASSWORD:?Define WP_ADMIN_PASSWORD}
WP_ADMIN_EMAIL: ${WP_ADMIN_EMAIL:?Define WP_ADMIN_EMAIL}
GA_CONTACT_EMAIL: ${GA_CONTACT_EMAIL:-hola@gureametsabilagun.org}
SEED_DEMO_ANIMALS: ${SEED_DEMO_ANIMALS:-false}
SMTP_HOST: ${SMTP_HOST:-}
SMTP_PORT: ${SMTP_PORT:-587}
SMTP_ENCRYPTION: ${SMTP_ENCRYPTION:-tls}
SMTP_USER: ${SMTP_USER:-}
SMTP_PASSWORD: ${SMTP_PASSWORD:-}
SMTP_FROM: ${SMTP_FROM:-}
WORDPRESS_CONFIG_EXTRA: |
if ( getenv('WP_URL') ) {
define( 'WP_HOME', rtrim( getenv('WP_URL'), '/' ) );
define( 'WP_SITEURL', rtrim( getenv('WP_URL'), '/' ) );
}
define( 'FS_METHOD', 'direct' );
define( 'DISALLOW_FILE_EDIT', true );
define( 'WP_POST_REVISIONS', 10 );
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
// Correo por SMTP (plugin WP Mail SMTP) si se definen las variables SMTP_*
if ( getenv('SMTP_HOST') ) {
define( 'WPMS_ON', true );
define( 'WPMS_MAILER', 'smtp' );
define( 'WPMS_SMTP_HOST', getenv('SMTP_HOST') );
define( 'WPMS_SMTP_PORT', (int) ( getenv('SMTP_PORT') ?: 587 ) );
define( 'WPMS_SSL', getenv('SMTP_ENCRYPTION') === 'none' ? '' : ( getenv('SMTP_ENCRYPTION') ?: 'tls' ) );
define( 'WPMS_SMTP_AUTH', true );
define( 'WPMS_SMTP_AUTOTLS', true );
define( 'WPMS_SMTP_USER', getenv('SMTP_USER') );
define( 'WPMS_SMTP_PASS', getenv('SMTP_PASSWORD') );
define( 'WPMS_MAIL_FROM', getenv('SMTP_FROM') ?: getenv('SMTP_USER') );
define( 'WPMS_MAIL_FROM_FORCE', true );
define( 'WPMS_MAIL_FROM_NAME', 'Gure Ametsa Bi Lagun' );
define( 'WPMS_MAIL_FROM_NAME_FORCE', true );
}
volumes:
- wp_data:/var/www/html
healthcheck:
test: ["CMD-SHELL", "curl -fsS -o /dev/null -H 'X-Forwarded-Proto: https' http://localhost/wp-includes/images/blank.gif || exit 1"]
interval: 30s
timeout: 5s
retries: 5
start_period: 60s
db:
image: mariadb:11.4
restart: unless-stopped
environment:
MARIADB_DATABASE: ${DB_NAME:-wordpress}
MARIADB_USER: ${DB_USER:-wordpress}
MARIADB_PASSWORD: ${DB_PASSWORD:?Define DB_PASSWORD}
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:?Define DB_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
volumes:
wp_data:
db_data: