services: db: image: mariadb:11.4 environment: MARIADB_ROOT_PASSWORD: root MARIADB_DATABASE: wordpress MARIADB_USER: wordpress MARIADB_PASSWORD: wordpress volumes: - db-data:/var/lib/mysql healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 10s timeout: 5s retries: 5 wordpress: image: wordpress:6.8.2-php8.2-apache depends_on: db: condition: service_healthy ports: - "8080:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DEBUG: "1" volumes: - wp-data:/var/www/html cli: image: wordpress:cli-2.12-php8.2 depends_on: - wordpress volumes: - wp-data:/var/www/html environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress user: "33:33" entrypoint: /bin/sh command: -c "sleep 15 && wp core install --url=http://localhost:8080 --title='Test Site' --admin_user=admin --admin_password=admin --admin_email=admin@example.com --allow-root && mkdir -p /var/www/html/wp-content/upgrade && wp plugin install geo-mashup --version=1.13.18 --activate --allow-root && wp post create --post_title='Test Location' --post_status=publish --allow-root && wp eval 'global $$wpdb; $$wpdb->insert(\"wp_geo_mashup_locations\",[\"lat\"=>37.5665,\"lng\"=>126.9780,\"address\"=>\"Seoul\"]); $$lid=$$wpdb->insert_id; $$wpdb->insert(\"wp_geo_mashup_location_relationships\",[\"object_name\"=>\"post\",\"object_id\"=>5,\"location_id\"=>$$lid,\"geo_date\"=>current_time(\"mysql\")]);' --allow-root && echo 'Setup complete.'" volumes: db-data: wp-data: