services: # Base de datos MySQL para WordPress db: image: mysql:8.0 container_name: wordpress_db restart: unless-stopped environment: MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress_password MYSQL_ROOT_PASSWORD: root_password volumes: - db_data:/var/lib/mysql networks: - wordpress_network healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] timeout: 20s retries: 10 # WordPress wordpress: image: wordpress:latest container_name: wordpress_app restart: unless-stopped ports: - "8080:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress_password WORDPRESS_DB_NAME: wordpress volumes: - wordpress_data:/var/www/html - ./wp-content:/var/www/html/wp-content # Para temas y plugins personalizados depends_on: db: condition: service_healthy networks: - wordpress_network # phpMyAdmin (opcional, para administrar la base de datos) phpmyadmin: image: phpmyadmin:latest container_name: wordpress_phpmyadmin restart: unless-stopped ports: - "8081:80" environment: PMA_HOST: db PMA_USER: root PMA_PASSWORD: root_password depends_on: - db networks: - wordpress_network volumes: db_data: driver: local wordpress_data: driver: local networks: wordpress_network: driver: bridge