# 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-mysql: image: "${IMAGE}:ci-${BUILD_NUMBER}" environment: DEBUG: 'true' LE_STAGING: 'true' FORCE_COLOR: 1 DB_MYSQL_HOST: 'db' DB_MYSQL_PORT: '3306' DB_MYSQL_USER: 'npm' DB_MYSQL_PASSWORD: 'npm' DB_MYSQL_NAME: 'npm' volumes: - npm_data:/data expose: - 81 - 80 - 443 depends_on: - db healthcheck: test: ["CMD", "/bin/check-health"] interval: 10s timeout: 3s fullstack-sqlite: image: "${IMAGE}:ci-${BUILD_NUMBER}" environment: DEBUG: 'true' LE_STAGING: 'true' FORCE_COLOR: 1 DB_SQLITE_FILE: '/data/mydb.sqlite' volumes: - npm_data:/data expose: - 81 - 80 - 443 healthcheck: test: ["CMD", "/bin/check-health"] interval: 10s timeout: 3s db: image: jc21/mariadb-aria environment: MYSQL_ROOT_PASSWORD: 'npm' MYSQL_DATABASE: 'npm' MYSQL_USER: 'npm' MYSQL_PASSWORD: 'npm' volumes: - db_data:/var/lib/mysql cypress-mysql: image: "${IMAGE}-cypress:ci-${BUILD_NUMBER}" build: context: ../test/ dockerfile: cypress/Dockerfile environment: CYPRESS_baseUrl: 'http://fullstack-mysql:81' volumes: - cypress-logs:/results command: cypress run --browser chrome --config-file=${CYPRESS_CONFIG:-cypress/config/ci.json} cypress-sqlite: image: "${IMAGE}-cypress:ci-${BUILD_NUMBER}" build: context: ../test/ dockerfile: cypress/Dockerfile environment: CYPRESS_baseUrl: "http://fullstack-sqlite:81" volumes: - cypress-logs:/results command: cypress run --browser chrome --config-file=${CYPRESS_CONFIG:-cypress/config/ci.json} volumes: cypress-logs: npm_data: db_data: