version: "3.8" services: mysql: image: mysql:5.7 platform: linux/x86_64 command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci restart: always ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: empty MYSQL_DATABASE: oncall_local_dev deploy: resources: limits: memory: 500m cpus: '0.5' healthcheck: test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ] timeout: 20s retries: 10 redis: image: redis restart: always ports: - "6379:6379" deploy: resources: limits: memory: 100m cpus: '0.1' rabbit: image: "rabbitmq:3.7.15-management" environment: RABBITMQ_DEFAULT_USER: "rabbitmq" RABBITMQ_DEFAULT_PASS: "rabbitmq" RABBITMQ_DEFAULT_VHOST: "/" deploy: resources: limits: memory: 1000m cpus: '0.5' ports: - "15672:15672" - "5672:5672" mysql-to-create-grafana-db: image: mysql:5.7 platform: linux/x86_64 command: bash -c "mysql -h mysql -uroot -pempty -e 'CREATE DATABASE IF NOT EXISTS grafana CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'" depends_on: mysql: condition: service_healthy grafana: image: "grafana/grafana:main" restart: always environment: GF_DATABASE_TYPE: mysql GF_DATABASE_HOST: mysql GF_DATABASE_USER: root GF_DATABASE_PASSWORD: empty GF_SECURITY_ADMIN_USER: oncall GF_SECURITY_ADMIN_PASSWORD: oncall GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS: grafana-oncall-app deploy: resources: limits: memory: 500m cpus: '0.5' volumes: - ./grafana-plugin:/var/lib/grafana/plugins/grafana-plugin ports: - "3000:3000" depends_on: mysql: condition: service_healthy