services: ## shared services mysql-test: image: mysql:latest # ports: # - ${DB_PORT}:${DB_PORT} environment: MYSQL_USER: ${DB_USER} MYSQL_PASSWORD: ${DB_PASS} MYSQL_DATABASE: ${DB_NAME} MYSQL_HOST: ${DB_HOST} MYSQL_PORT: ${DB_PORT} MYSQL_ROOT_PASSWORD: ${DB_PASS} volumes: - ./migrations/base.sql:/docker-entrypoint-initdb.d/init.sql:ro - test-db-data:/var/lib/mysql networks: - test-network healthcheck: test: "/usr/bin/mysql --user=$$MYSQL_USER --password=$$MYSQL_PASSWORD --execute \"SHOW DATABASES;\"" interval: 2s timeout: 20s retries: 10 redis-test: image: bitnami/redis:latest # ports: # - ${REDIS_PORT}:${REDIS_PORT} user: root volumes: - test-redis-data:/bitnami/redis/data networks: - test-network environment: - ALLOW_EMPTY_PASSWORD=yes - REDIS_PASSWORD=${REDIS_PASS} ## application services bancho-test: # we also have a public image: osuakatsuki/bancho.py:latest image: bancho:latest depends_on: mysql-test: condition: service_healthy redis-test: condition: service_started tty: true init: true volumes: - .:/srv/root - test-data:/srv/root/.data networks: - test-network environment: - APP_HOST=${APP_HOST} - APP_PORT=${APP_PORT} - DB_USER=${DB_USER} - DB_PASS=${DB_PASS} - DB_NAME=${DB_NAME} - DB_HOST=${DB_HOST} - DB_PORT=${DB_PORT} - REDIS_USER=${REDIS_USER} - REDIS_PASS=${REDIS_PASS} - REDIS_HOST=${REDIS_HOST} - REDIS_PORT=${REDIS_PORT} - REDIS_DB=${REDIS_DB} - OSU_API_KEY=${OSU_API_KEY} - MIRROR_SEARCH_ENDPOINT=${MIRROR_SEARCH_ENDPOINT} - MIRROR_DOWNLOAD_ENDPOINT=${MIRROR_DOWNLOAD_ENDPOINT} - DOMAIN=${DOMAIN} - COMMAND_PREFIX=${COMMAND_PREFIX} - SEASONAL_BGS=${SEASONAL_BGS} - MENU_ICON_URL=${MENU_ICON_URL} - MENU_ONCLICK_URL=${MENU_ONCLICK_URL} - DATADOG_API_KEY=${DATADOG_API_KEY} - DATADOG_APP_KEY=${DATADOG_APP_KEY} - DEBUG=${DEBUG} - REDIRECT_OSU_URLS=${REDIRECT_OSU_URLS} - PP_CACHED_ACCS=${PP_CACHED_ACCS} - DISALLOWED_NAMES=${DISALLOWED_NAMES} - DISALLOWED_PASSWORDS=${DISALLOWED_PASSWORDS} - DISALLOW_OLD_CLIENTS=${DISALLOW_OLD_CLIENTS} - DISALLOW_INGAME_REGISTRATION=${DISALLOW_INGAME_REGISTRATION} - DISCORD_AUDIT_LOG_WEBHOOK=${DISCORD_AUDIT_LOG_WEBHOOK} - AUTOMATICALLY_REPORT_PROBLEMS=${AUTOMATICALLY_REPORT_PROBLEMS} - LOG_WITH_COLORS=${LOG_WITH_COLORS} - SSL_CERT_PATH=${SSL_CERT_PATH} - SSL_KEY_PATH=${SSL_KEY_PATH} - DEVELOPER_MODE=${DEVELOPER_MODE} volumes: test-data: test-db-data: test-redis-data: networks: test-network: