92 lines
3.5 KiB
YAML
92 lines
3.5 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}
|
|
API_DOCS_PUBLIC: ${API_DOCS_PUBLIC:-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:
|