Files
piratepoet/tests_env/docker/docker-compose.yml
Mustapha Hadid f88810beeb Change WordPress port in Docker Compose for testing
On Linux, 8080 port is used by A8C proxy (in the PAC file), and it's hard to change
2024-10-14 13:30:16 +02:00

146 lines
4.7 KiB
YAML

services:
codeception_acceptance:
image: mailpoet/wordpress:${CODECEPTION_IMAGE_VERSION:-8.0-cli_20220605.0}
depends_on:
- smtp
- wordpress
- chrome
volumes:
- wp-core:/wp-core
- mailhog-data:/mailhog-data
- ../../mailpoet:/project
- ../../mailpoet:/wp-core/wp-content/plugins/mailpoet
- ../../mailpoet-premium:/project/mailpoet-premium
- ../../mailpoet-premium:/wp-core/wp-content/plugins/mailpoet-premium
- ../../packages:/wp-core/wp-content/plugins/packages
- ./codeception/docker-entrypoint.sh:/docker-entrypoint.sh
- ../../dev/php.ini:/usr/local/etc/php/conf.d/php_user.ini
- ../../dev/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
entrypoint: /docker-entrypoint.sh
environment:
WP_ROOT: /wp-core
WP_ROOT_MULTISITE: /wp-core
WP_TEST_MULTISITE_SLUG: php7_multisite
HTTP_HOST: test.local
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_TABLE_PREFIX: mp_
TEST_TYPE: acceptance
PHP_IDE_CONFIG: 'serverName=MailPoetTest'
codeception_integration:
image: mailpoet/wordpress:${CODECEPTION_IMAGE_VERSION:-8.0-cli_20220605.0}
depends_on:
- smtp
- wordpress
volumes:
- wp-core:/wp-core
- mailhog-data:/mailhog-data
- ../../mailpoet:/project
- ../../mailpoet:/wp-core/wp-content/plugins/mailpoet
- ../../mailpoet-premium:/project/mailpoet-premium
- ../../mailpoet-premium:/wp-core/wp-content/plugins/mailpoet-premium
- ../../packages:/wp-core/wp-content/plugins/packages
- ./codeception/docker-entrypoint.sh:/docker-entrypoint.sh
- ../../dev/php.ini:/usr/local/etc/php/conf.d/php_user.ini
- ../../dev/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
entrypoint: /docker-entrypoint.sh
environment:
WP_ROOT: /wp-core
WP_ROOT_MULTISITE: /wp-core
WP_TEST_MULTISITE_SLUG: php7_multisite
HTTP_HOST: test.local
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_TABLE_PREFIX: mp_
TEST_TYPE: integration
PHP_IDE_CONFIG: 'serverName=MailPoetTest'
smtp:
image: mailhog/mailhog:v1.0.0
container_name: mailhog_${CIRCLE_NODE_INDEX:-default}
hostname: mailhog
ports:
- 1025:1025
- 8025:8025
user: ${UID:-1000}:${GID:-1000}
environment:
MH_STORAGE: maildir
MH_MAILDIR_PATH: /mailhog-data
volumes:
- mailhog-data:/mailhog-data
wordpress:
image: wordpress:${WORDPRESS_IMAGE_VERSION:-6.6.2-php8.3}
container_name: wordpress_${CIRCLE_NODE_INDEX:-default}
depends_on:
smtp:
condition: service_started
mysql:
condition: service_healthy
volumes:
- wp-core:/var/www/html
- ../../mailpoet:/project
- ../../mailpoet:/var/www/html/wp-content/plugins/mailpoet
- ../../packages:/var/www/html/wp-content/plugins/packages
- ../../mailpoet-premium:/project/mailpoet-premium
- ../../mailpoet-premium:/var/www/html/wp-content/plugins/mailpoet-premium
tmpfs:
- /var/www/html/wp-content/uploads/mailpoet/
ports:
- 8888:80
environment:
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_TABLE_PREFIX: mp_
MAILPOET_TRACY_PRODUCTION_MODE: 1
MAILPOET_TRACY_LOG_DIR: /var/www/html/wp-content/plugins/mailpoet/tests/_output/exceptions
command: ['docker-entrypoint.sh', 'apache2-foreground']
networks:
default:
aliases:
- test.local
mysql:
image: ${MYSQL_IMAGE:-cimg/mysql:5.7.38}
container_name: mysql_${CIRCLE_NODE_INDEX:-default}
# Command used for MySQL 8+ because it needs default-authentication-plugin
# parameter and there needs to be some fallback for other MySQL versions.
# --verbose can be changed to any other useless parameter
command: ${MYSQL_COMMAND:---verbose --sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ANSI,ONLY_FULL_GROUP_BY}
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
tmpfs:
- /dev/shm
- /var/lib/mysql:rw
ports:
- 4401:3306
healthcheck:
test: ['CMD-SHELL', 'mysqladmin ping -hmysql --silent']
interval: 2s
timeout: 30s
retries: 10
chrome:
container_name: chrome_${CIRCLE_NODE_INDEX:-default}
environment:
- DBUS_SESSION_BUS_ADDRESS=/dev/null
tmpfs:
- /dev/shm
image: selenium/standalone-chrome:107.0-20221104
ports:
- 4444
- 5900:5900
volumes:
wp-core:
mailhog-data:
networks:
default: