# WARNING: This is a CI docker-compose file used for building and testing of the entire app, it should not be used for production. version: "3.8" services: fullstack: image: ${IMAGE}:${BRANCH_LOWER}-ci-${BUILD_NUMBER} environment: - NPM_LOG_LEVEL=debug volumes: - '/etc/localtime:/etc/localtime:ro' - npm_data_ci:/data - ../docs:/temp-docs - ./dev/resolv.conf:/etc/resolv.conf:ro networks: default: aliases: - website1.example.com - website2.example.com - website3.example.com stepca: image: nginxproxymanager/testca volumes: - ./dev/resolv.conf:/etc/resolv.conf:ro - '/etc/localtime:/etc/localtime:ro' networks: default: 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: default: 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 dnsrouter: image: jc21/dnsrouter volumes: - ./dev/dnsrouter-config.json.tmp:/dnsrouter-config.json:ro 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:-cypress/config/ci.json} volumes: cypress-logs: npm_data_ci: pdns_mysql_vol: