services: stransit-test-db: image: mariadb:11.6.2 container_name: stransit-test-db environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} networks: stransit-test-db: ipv4_address: 10.10.2.2 hostname: stransit-test-wordpress-db volumes: - db_data:/var/lib/mysql stransit-test-wordpress: image: wordpress:6.7.1-php8.3-fpm-alpine container_name: stransit-test-wordpress networks: stransit-test-wordpress: stransit-test-db: ipv4_address: 10.10.2.3 volumes: - wordpress_data:/var/www/html depends_on: - stransit-test-db stransit-test-apache: build: context: ../../../. dockerfile: manufacturer/container/apache/Dockerfile image: stransit-test-apache:v1.1 container_name: stransit-test-apache networks: stransit-test-metrics: ipv4_address: 10.10.1.2 stransit-test-wordpress: ports: - "80:80" - "443:443" volumes: - wordpress_data:/var/www/html - ../../configs/apache/apache.conf:/etc/apache2/sites-available/000-default.conf depends_on: - stransit-test-wordpress stransit-test-exporter: image: lusotycoon/apache-exporter container_name: stransit-test-exporter privileged: true networks: stransit-test-metrics: ipv4_address: 10.10.1.5 expose: - 9117 depends_on: - stransit-test-apache restart: unless-stopped entrypoint: /bin/apache_exporter --scrape_uri="http://stransit-test-apache/server-status?auto" stransit-test-prometheus: image: prom/prometheus:v3.1.0 container_name: stransit-test-prometheus volumes: - ../../configs/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml networks: stransit-test-metrics: ipv4_address: 10.10.1.3 expose: - 9090 depends_on: - stransit-test-exporter stransit-test-grafana: image: grafana/grafana:11.4.0 container_name: stransit-test-grafana networks: stransit-test-metrics: ipv4_address: 10.10.1.4 ports: - "3000:3000" environment: GF_SECURITY_ADMIN_PASSWORD: ${GF_SECURITY_ADMIN_PASSWORD} GF_SERVER_SERVE_FROM_SUB_PATH: true volumes: - grafana_data:/var/lib/grafana - ../../configs/grafana/provisioning:/etc/grafana/provisioning stransit-test-grafana-importer: build: context: ../../../. dockerfile: manufacturer/container/importer/Dockerfile image: stransit-test-grafana-importer:v1 container_name: stransit-test-grafana-importer networks: stransit-test-metrics: ipv4_address: 10.10.1.6 volumes: - ../grafana/scripts/import_apache_dashboard.sh:/scripts/import_apache_dashboard.sh - ../../configs/grafana/provisioning/dashboards/default/apache.json:/scripts/apache.json depends_on: - stransit-test-grafana env_file: - .env command: [ "/bin/bash", "-c", "wait-for-it stransit-test-grafana:3000 -- bash /scripts/import_apache_dashboard.sh" ] volumes: db_data: name: stransit-test-db-data grafana_data: name: stransit-test-grafana-data wordpress_data: name: stransit-test-wordpress-data networks: stransit-test-db: name: stransit-test-db driver: bridge external: false ipam: config: - subnet: 10.10.2.0/24 stransit-test-wordpress: name: stransit-test-wordpress driver: bridge external: false stransit-test-metrics: name: stransit-test-metrics driver: bridge external: false ipam: config: - subnet: 10.10.1.0/24