# WARNING: This is a CI docker-compose file used for building # and testing of the entire app, it should not be used for production. # This is a base compose file, it should be extended with a # docker-compose.ci.*.yml file services: fullstack: image: "${IMAGE}:${BRANCH_LOWER}-ci-${BUILD_NUMBER}" environment: DEBUG: 'true' FORCE_COLOR: 1 volumes: - 'npm_data_ci:/data' - 'npm_le_ci:/etc/letsencrypt' - './dev/letsencrypt.ini:/etc/letsencrypt.ini:ro' - './dev/resolv.conf:/etc/resolv.conf:ro' - '/etc/localtime:/etc/localtime:ro' healthcheck: test: ["CMD", "/usr/bin/check-health"] interval: 10s timeout: 3s networks: fulltest: aliases: - website1.example.com - website2.example.com - website3.example.com stepca: image: jc21/testca volumes: - './dev/resolv.conf:/etc/resolv.conf:ro' - '/etc/localtime:/etc/localtime:ro' networks: fulltest: aliases: - ca.internal pdns: image: pschiffe/pdns-mysql volumes: - '/etc/localtime:/etc/localtime:ro' environment: PDNS_master: 'yes' PDNS_api: 'yes' PDNS_api_key: 'npm' PDNS_webserver: 'yes' PDNS_webserver_address: '0.0.0.0' PDNS_webserver_password: 'npm' PDNS_webserver-allow-from: '127.0.0.0/8,192.0.0.0/8,10.0.0.0/8,172.0.0.0/8' PDNS_version_string: 'anonymous' PDNS_default_ttl: 1500 PDNS_allow_axfr_ips: '127.0.0.0/8,192.0.0.0/8,10.0.0.0/8,172.0.0.0/8' PDNS_gmysql_host: pdns-db PDNS_gmysql_port: 3306 PDNS_gmysql_user: pdns PDNS_gmysql_password: pdns PDNS_gmysql_dbname: pdns depends_on: - pdns-db networks: fulltest: aliases: - ns1.pdns - ns2.pdns pdns-db: image: mariadb environment: MYSQL_ROOT_PASSWORD: 'pdns' MYSQL_DATABASE: 'pdns' MYSQL_USER: 'pdns' MYSQL_PASSWORD: 'pdns' volumes: - 'pdns_mysql_vol:/var/lib/mysql' - '/etc/localtime:/etc/localtime:ro' - './dev/pdns-db.sql:/docker-entrypoint-initdb.d/01_init.sql:ro' networks: - fulltest dnsrouter: image: jc21/dnsrouter volumes: - ./dev/dnsrouter-config.json.tmp:/dnsrouter-config.json:ro networks: - fulltest cypress: image: "${IMAGE}-cypress:ci-${BUILD_NUMBER}" build: context: ../ dockerfile: test/cypress/Dockerfile environment: CYPRESS_baseUrl: 'http://fullstack:81' volumes: - 'cypress_logs:/results' - './dev/resolv.conf:/etc/resolv.conf:ro' command: cypress run --browser chrome --config-file=cypress/config/ci.js networks: - fulltest volumes: cypress_logs: npm_data_ci: npm_le_ci: pdns_mysql_vol: networks: fulltest: name: "npm-${BRANCH_LOWER}-ci-${BUILD_NUMBER}"