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: "33: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} 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: