Files
wp-graphql-woocommerce/docker-compose.yml
T
2021-06-04 19:58:37 -04:00

105 lines
2.9 KiB
YAML

version: '3.3'
services:
# Main application database.
app_db:
image: mysql
volumes:
- app_db_data
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: ${ROOT_PASSWORD:-password}
MYSQL_DATABASE: ${DB_NAME:-wordpress}
MYSQL_USER: ${DB_USER:-wordpress}
MYSQL_PASSWORD: ${DB_PASSWORD:-password}
networks:
development:
# Capture and display all email sent by WordPress.
mailhog:
image: mailhog/mailhog
ports:
- "1025:1025"
- "8025:8025"
networks:
development:
# Main application service
testable_app:
image: woographql/wordpress-dev:${WP_VERSION:-latest}
depends_on:
- app_db
- mailhog
build:
context: .
args:
PHP_VERSION: ${PHP_VERSION:-7.3}
volumes:
- .:/var/www/html/wp-content/plugins/wp-graphql-woocommerce
- ./codeception.dist.yml:/var/www/html/wp-content/plugins/wp-graphql-woocommerce/codeception.yml
- ./local/public:/var/www/html # WP core files.
- ./local/.htaccess:/var/www/html/.htaccess
- ./.log/testable_app:/var/log/apache2
env_file: .env.dist
environment:
APACHE_RUN_USER: "#1000" # Ensure Apache can write to the filesystem.
XDEBUG_CONFIG: remote_host=10.0.0.52 idekey=vscode
networks:
development:
ports:
- "9001:9001"
# Main application database clone for testing inside the main application service.
testing_db:
image: mysql
volumes:
- ./local/db:/docker-entrypoint-initdb.d
command: --default-authentication-plugin=mysql_native_password
environment:
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
# Standalone testing application service (for inside of CI).
run_tests:
image: woographql/wordpress-ci:${WP_VERSION:-latest}
depends_on:
- testing_db
build:
context: .
args:
PHP_VERSION: ${PHP_VERSION:-7.3}
volumes:
- .:/var/www/html/wp-content/plugins/wp-graphql-woocommerce
- ./codeception.dist.yml:/var/www/html/wp-content/plugins/wp-graphql-woocommerce/codeception.yml
- ./local/public:/var/www/html # WP core files.
- ./local/.htaccess:/var/www/html/.htaccess
- ./.log/run_tests:/var/log/apache2
env_file: .env.dist
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
command: ./setup-database.sh testing codecept run ${FILTER:-}
networks:
testing:
aliases:
- run_tests
networks:
development:
testing:
volumes:
app_db_data: {}