2019-07-17 20:02:41 -04:00
|
|
|
services:
|
2020-09-01 16:12:01 -04:00
|
|
|
# Main application database.
|
2019-07-23 19:38:53 -04:00
|
|
|
app_db:
|
2024-05-07 16:50:42 -04:00
|
|
|
image: mysql:5.7
|
2020-09-01 16:12:01 -04:00
|
|
|
command: --default-authentication-plugin=mysql_native_password
|
2019-07-17 20:02:41 -04:00
|
|
|
environment:
|
2021-01-08 17:00:48 -05:00
|
|
|
MYSQL_ROOT_PASSWORD: ${ROOT_PASSWORD:-password}
|
|
|
|
|
MYSQL_DATABASE: ${DB_NAME:-wordpress}
|
|
|
|
|
MYSQL_USER: ${DB_USER:-wordpress}
|
|
|
|
|
MYSQL_PASSWORD: ${DB_PASSWORD:-password}
|
|
|
|
|
networks:
|
|
|
|
|
development:
|
2019-07-23 19:38:53 -04:00
|
|
|
|
2020-09-01 16:12:01 -04:00
|
|
|
# Capture and display all email sent by WordPress.
|
|
|
|
|
mailhog:
|
|
|
|
|
image: mailhog/mailhog
|
|
|
|
|
ports:
|
|
|
|
|
- "1025:1025"
|
|
|
|
|
- "8025:8025"
|
2021-01-08 17:00:48 -05:00
|
|
|
networks:
|
|
|
|
|
development:
|
2020-09-01 16:12:01 -04:00
|
|
|
|
|
|
|
|
# Main application service
|
|
|
|
|
testable_app:
|
2021-01-08 17:00:48 -05:00
|
|
|
image: woographql/wordpress-dev:${WP_VERSION:-latest}
|
2019-07-23 19:38:53 -04:00
|
|
|
depends_on:
|
|
|
|
|
- app_db
|
2020-09-01 16:12:01 -04:00
|
|
|
- mailhog
|
2021-01-08 17:00:48 -05:00
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
args:
|
2022-02-04 15:00:44 -05:00
|
|
|
PHP_VERSION: ${PHP_VERSION:-8.0}
|
2019-07-23 19:38:53 -04:00
|
|
|
volumes:
|
2020-09-01 16:12:01 -04:00
|
|
|
- .:/var/www/html/wp-content/plugins/wp-graphql-woocommerce
|
2021-01-21 20:55:37 -05:00
|
|
|
- ./codeception.dist.yml:/var/www/html/wp-content/plugins/wp-graphql-woocommerce/codeception.yml
|
2020-09-01 16:12:01 -04:00
|
|
|
- ./local/public:/var/www/html # WP core files.
|
|
|
|
|
- ./local/.htaccess:/var/www/html/.htaccess
|
2021-01-08 17:00:48 -05:00
|
|
|
- ./.log/testable_app:/var/log/apache2
|
2021-07-05 13:51:52 -04:00
|
|
|
env_file: .env.testing
|
2019-07-23 19:38:53 -04:00
|
|
|
environment:
|
2020-09-01 16:12:01 -04:00
|
|
|
APACHE_RUN_USER: "#1000" # Ensure Apache can write to the filesystem.
|
2023-02-01 14:57:46 -05:00
|
|
|
DOCKER_GATEWAY_HOST: "172.17.0.1"
|
|
|
|
|
XDEBUG_CONFIG: remote_host=${DOCKER_GATEWAY_HOST:-host.docker.internal} idekey=vscode
|
2021-01-08 17:00:48 -05:00
|
|
|
networks:
|
|
|
|
|
development:
|
|
|
|
|
ports:
|
|
|
|
|
- "9001:9001"
|
2019-07-23 19:38:53 -04:00
|
|
|
|
2020-09-01 16:12:01 -04:00
|
|
|
# Main application database clone for testing inside the main application service.
|
|
|
|
|
testing_db:
|
2025-11-15 19:02:41 -05:00
|
|
|
image: mariadb:10.6
|
2020-09-01 16:12:01 -04:00
|
|
|
volumes:
|
|
|
|
|
- ./local/db:/docker-entrypoint-initdb.d
|
2025-11-15 19:02:41 -05:00
|
|
|
command: >
|
|
|
|
|
--ssl=0
|
|
|
|
|
--skip-ssl
|
|
|
|
|
--skip-networking=0
|
|
|
|
|
--bind-address=0.0.0.0
|
|
|
|
|
--sql-mode=""
|
2020-09-01 16:12:01 -04:00
|
|
|
environment:
|
2021-01-08 17:00:48 -05:00
|
|
|
MYSQL_ROOT_PASSWORD: ${ROOT_PASSWORD:-password}
|
|
|
|
|
MYSQL_DATABASE: ${DB_NAME:-wordpress}
|
|
|
|
|
MYSQL_USER: ${DB_USER:-wordpress}
|
|
|
|
|
MYSQL_PASSWORD: ${DB_PASSWORD:-password}
|
|
|
|
|
networks:
|
|
|
|
|
development:
|
|
|
|
|
testing:
|
|
|
|
|
aliases:
|
|
|
|
|
- app_db
|
2020-09-01 16:12:01 -04:00
|
|
|
|
2021-01-08 17:00:48 -05:00
|
|
|
# Standalone testing application service (for inside of CI).
|
2020-09-01 16:12:01 -04:00
|
|
|
run_tests:
|
2021-01-08 17:00:48 -05:00
|
|
|
image: woographql/wordpress-ci:${WP_VERSION:-latest}
|
|
|
|
|
depends_on:
|
|
|
|
|
- testing_db
|
|
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
args:
|
2024-11-06 19:23:36 -05:00
|
|
|
PHP_VERSION: ${PHP_VERSION:-8.3}
|
2021-01-08 17:00:48 -05:00
|
|
|
volumes:
|
|
|
|
|
- .:/var/www/html/wp-content/plugins/wp-graphql-woocommerce
|
2021-01-21 20:55:37 -05:00
|
|
|
- ./codeception.dist.yml:/var/www/html/wp-content/plugins/wp-graphql-woocommerce/codeception.yml
|
2021-01-08 17:00:48 -05:00
|
|
|
- ./local/public:/var/www/html # WP core files.
|
|
|
|
|
- ./local/.htaccess:/var/www/html/.htaccess
|
|
|
|
|
- ./.log/run_tests:/var/log/apache2
|
2021-07-05 13:51:52 -04:00
|
|
|
env_file: .env.testing
|
2021-01-08 17:00:48 -05:00
|
|
|
environment:
|
|
|
|
|
RUNNING_TEST_STANDALONE: 1
|
|
|
|
|
GRAPHQL_DEBUG: 1
|
|
|
|
|
WPGRAPHQL_WOOCOMMERCE_AUTOLOAD: 1
|
|
|
|
|
APACHE_RUN_USER: "#1000" # Ensure Apache can write to the filesystem.
|
|
|
|
|
WORDPRESS_DOMAIN: localhost
|
|
|
|
|
WP_SITEURL: http://localhost
|
|
|
|
|
WP_HOME: http://localhost
|
2023-06-21 13:21:29 -04:00
|
|
|
HPOS: ${HPOS:-}
|
2021-01-08 17:00:48 -05:00
|
|
|
command: ./setup-database.sh testing codecept run ${FILTER:-}
|
|
|
|
|
networks:
|
|
|
|
|
testing:
|
|
|
|
|
aliases:
|
|
|
|
|
- run_tests
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
development:
|
|
|
|
|
testing:
|