name: itcca-allievi
services:
db:
image: mariadb:11
container_name: itcca-db
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MARIADB_DATABASE: ${DB_NAME}
MARIADB_USER: ${DB_USER}
MARIADB_PASSWORD: ${DB_PASSWORD}
volumes:
- db_data:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
networks:
- itcca
wordpress:
image: wordpress:6.7-php8.3-apache
container_name: itcca-wp
restart: unless-stopped
depends_on:
db:
condition: service_healthy
ports:
- "${WP_PORT:-8080}:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: ${DB_NAME}
WORDPRESS_DB_USER: ${DB_USER}
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
WORDPRESS_DEBUG: ${WP_DEBUG:-1}
WORDPRESS_CONFIG_EXTRA: |
define('WP_HOME', '${WP_HOME:-http://localhost:8080}');
define('WP_SITEURL', '${WP_SITEURL:-http://localhost:8080}');
define('FS_METHOD', 'direct');
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('upload_max_filesize', '64M');
@ini_set('post_max_size', '64M');
@ini_set('memory_limit', '256M');
entrypoint: ["/bin/sh", "-c", "/wp-cert-init.sh && exec docker-entrypoint.sh apache2-foreground"]
volumes:
- wp_data:/var/www/html
- ./plugin/itcca-allievi:/var/www/html/wp-content/plugins/itcca-allievi
- ./.docker/certs:/custom-certs:ro
- ./.docker/wp-cert-init.sh:/wp-cert-init.sh:ro
networks:
- itcca
phpmyadmin:
image: phpmyadmin:5
container_name: itcca-pma
restart: unless-stopped
depends_on:
db:
condition: service_healthy
ports:
- "${PMA_PORT:-8081}:80"
environment:
PMA_HOST: db
PMA_USER: root
PMA_PASSWORD: ${DB_ROOT_PASSWORD}
UPLOAD_LIMIT: 64M
networks:
- itcca
composer:
image: composer:2
container_name: itcca-composer
profiles: ["tools"]
working_dir: /app
entrypoint: ["/composer-entrypoint.sh"]
environment:
COMPOSER_ALLOW_SUPERUSER: "1"
volumes:
- ./plugin/itcca-allievi:/app
- ./.docker/certs:/custom-certs:ro
- ./.docker/composer-entrypoint.sh:/composer-entrypoint.sh:ro
networks:
- itcca
wpcli:
image: wordpress:cli-php8.3
container_name: itcca-wpcli
profiles: ["tools"]
user: "33:33"
depends_on:
db:
condition: service_healthy
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: ${DB_NAME}
WORDPRESS_DB_USER: ${DB_USER}
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
volumes:
- wp_data:/var/www/html
- ./plugin/itcca-allievi:/var/www/html/wp-content/plugins/itcca-allievi
networks:
- itcca
volumes:
db_data:
wp_data:
networks:
itcca:
driver: bridge