|
| 1 | +version: "3.1" |
| 2 | + |
| 3 | +services: |
| 4 | + db_server: |
| 5 | + image: ${DB:-mariadb:11} |
| 6 | + command: |
| 7 | + - "--plugin_load_add=server_audit" |
| 8 | + - "--server_audit=FORCE_PLUS_PERMANENT" |
| 9 | + - "--server_audit_events=connect" |
| 10 | + - "--server_audit_logging" |
| 11 | + #- "--server_audit_file_path=/var/log/mariadb-audit/audit.log" |
| 12 | + - "--ssl-ca=/etc/phpmyadmin/ssl/ca-cert.pem" |
| 13 | + - "--ssl-cert=/etc/phpmyadmin/ssl/server-cert.pem" |
| 14 | + - "--ssl-key=/etc/phpmyadmin/ssl/server-key.pem" |
| 15 | + - "--require-secure-transport=ON" |
| 16 | + - "--server-audit-logging=ON" |
| 17 | + environment: |
| 18 | + MARIADB_USER: secure-user |
| 19 | + MARIADB_PASSWORD: "${TESTSUITE_PASSWORD:-my-secret-pw}" |
| 20 | + MARIADB_ROOT_PASSWORD: "${TESTSUITE_ROOT_PASSWORD:-random-pass}" |
| 21 | + # The database name used in the import test |
| 22 | + MARIADB_DATABASE: World |
| 23 | + healthcheck: |
| 24 | + test: ["CMD", "mariadb-admin", "ping", "-uroot", "-prandom-pass"] |
| 25 | + start_period: 10s |
| 26 | + interval: 5s |
| 27 | + timeout: 60s |
| 28 | + retries: 10 |
| 29 | + networks: |
| 30 | + testing: |
| 31 | + aliases: |
| 32 | + - mariadb.phpmyadmin.local |
| 33 | + tmpfs: |
| 34 | + - /var/lib/mysql:rw,noexec,nosuid,size=300m |
| 35 | + volumes: |
| 36 | + #- ../secure-user.sql:/docker-entrypoint-initdb.d/secure-user.sql:ro |
| 37 | + - ../ca-cert.pem:/etc/phpmyadmin/ssl/ca-cert.pem:ro |
| 38 | + - ../ca-key.pem:/etc/phpmyadmin/ssl/ca-key.pem:ro |
| 39 | + - ../server-cert.pem:/etc/phpmyadmin/ssl/server-cert.pem:ro |
| 40 | + - ../server-key.pem:/etc/phpmyadmin/ssl/server-key.pem:ro |
| 41 | + #- ../mariadb-audit:/var/log/mariadb-audit |
| 42 | + |
| 43 | + phpmyadmin: |
| 44 | + build: |
| 45 | + context: ../../apache |
| 46 | + environment: |
| 47 | + PMA_HOST: mariadb.phpmyadmin.local |
| 48 | + PMA_SSL: 1 |
| 49 | + PMA_SSL_VERIFY: 1 |
| 50 | + PMA_SSL_CA: /etc/phpmyadmin/ssl/ca-cert.pem |
| 51 | + PMA_SSL_CERT: /etc/phpmyadmin/ssl/client-cert.pem |
| 52 | + PMA_SSL_KEY: /etc/phpmyadmin/ssl/client-key.pem |
| 53 | + UPLOAD_LIMIT: 123M |
| 54 | + MAX_EXECUTION_TIME: 125 |
| 55 | + HIDE_PHP_VERSION: 1 |
| 56 | + volumes: |
| 57 | + - ../config.user.inc.php:/etc/phpmyadmin/config.user.inc.php:ro |
| 58 | + - ../ca-cert.pem:/etc/phpmyadmin/ssl/ca-cert.pem:ro |
| 59 | + - ../client-cert.pem:/etc/phpmyadmin/ssl/client-cert.pem:ro |
| 60 | + - ../client-key.pem:/etc/phpmyadmin/ssl/client-key.pem:ro |
| 61 | + healthcheck: |
| 62 | + test: ["CMD", "curl", "-Ss", "http://localhost/robots.txt"] |
| 63 | + start_period: 5s |
| 64 | + interval: 3s |
| 65 | + timeout: 60s |
| 66 | + retries: 10 |
| 67 | + networks: |
| 68 | + testing: |
| 69 | + aliases: |
| 70 | + - phpmyadmin_testing_apache |
| 71 | + depends_on: |
| 72 | + db_server: |
| 73 | + condition: service_healthy |
| 74 | + |
| 75 | + sut: |
| 76 | + depends_on: |
| 77 | + phpmyadmin: |
| 78 | + condition: service_healthy |
| 79 | + db_server: |
| 80 | + condition: service_healthy |
| 81 | + build: |
| 82 | + context: ../ |
| 83 | + command: "/tests/testing/test-docker.sh" |
| 84 | + networks: |
| 85 | + testing: |
| 86 | + environment: |
| 87 | + TESTSUITE_HOSTNAME: phpmyadmin_testing_apache |
| 88 | + TESTSUITE_PORT: 80 |
| 89 | + TESTSUITE_USER: secure-user |
| 90 | + TESTSUITE_PASSWORD: "${TESTSUITE_PASSWORD:-my-secret-pw}" |
| 91 | + TESTSUITE_ROOT_PASSWORD: "${TESTSUITE_ROOT_PASSWORD:-random-pass}" |
| 92 | + PMA_HOST: mariadb.phpmyadmin.local |
| 93 | + PMA_PORT: 3306 |
| 94 | + IS_USING_SSL: true |
| 95 | + volumes: |
| 96 | + - ../ca-cert.pem:/etc/phpmyadmin/ssl/ca-cert.pem:ro |
| 97 | + - ../server-cert.pem:/etc/phpmyadmin/ssl/server-cert.pem:ro |
| 98 | + - ../client-cert.pem:/etc/phpmyadmin/ssl/client-cert.pem:ro |
| 99 | + - ../client-key.pem:/etc/phpmyadmin/ssl/client-key.pem:ro |
| 100 | + - ../../:/tests:ro |
| 101 | + working_dir: /tests |
| 102 | + |
| 103 | +networks: |
| 104 | + testing: |
| 105 | + driver: bridge |
0 commit comments