services: boardmate-api: build: context: . dockerfile: Dockerfile container_name: boardmate-api ports: - "8000:8080" - "5005:5005" environment: SSL_KEYSTORE_PATH: "/certs/keystore.p12" BROKER_URL: "tcp://api-broker:1883" BROKER_SECURE_URL: "tcp://api-broker:8883" NGROK_URL: "https://lipographic-angla-cistophoric.ngrok-free.dev" MONGODB_URI: "mongodb://board-mate-user:apx820kcng@mongodb:27017/board-mate-db" BROKER_USERNAME: "board-mate-api" BROKER_PASSWORD: "hepl" JWT_SECRET: "enY3OWU4djFyMTByNTZhcG9uY3Z0djQ5cnY0eDhhNWM0bjg5OTRjNDhidA==" WEBEX_BOT_TOKEN: "YmU0NTdkNDMtYTg1ZC00M2YyLTk3YzUtODA1MWFmOTk1NjA1ZmU3MTYxNGUtYWZm_P0A1_14a2639d-5e4d-48b4-9757-f4b8a23372de" WEBEX_CLIENT_TOKEN: "YjkyMmJkNDQtNDViZC00Zjg3LThiMDItNzk3NDIxOGVhODBhYjVjMTQ4YzktMjFi_P0A1_14a2639d-5e4d-48b4-9757-f4b8a23372de" WEBEX_SHARED_SECRET: "cUxSc0ZjNVBZVG5oRmhqaVN0YUtMTEVZb0pIZW5EY2Rwa0hUaWdiVm9nWlJiY2t5aFdmTjhvWmQ5U3R3TDIxVE1CRTl4VGJldVI3TFdVa3lMbFVPZUVSMkZPSnBHTjk=" TWILIO_SERVICE_ID: "MGc971109e0d7e7e17ba93ae3b641d8673" TWILIO_ACCOUNT_SID: "ACf041152850f4535c266bb82644bda152" TWILIO_AUTH_TOKEN: "15fc6699c14892cf363ccac0a39ada58" SENDGRID_KEY: "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" DATABASE_NAME: "board-mate-db" JAVA_TOOL_OPTIONS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" depends_on: - mongodb - elasticsearch - mosquitto volumes: - ./.gradle:/home/gradle/.gradle - ./build:/app/.gradle - ./certs:/certs elasticsearch: image: 'docker.elastic.co/elasticsearch/elasticsearch:7.17.10' container_name: elastic-search environment: - 'ELASTIC_PASSWORD=secret' - 'discovery.type=single-node' - 'xpack.security.enabled=false' ports: - '8100:9200' - '8101:9300' grafana-lgtm: image: 'grafana/otel-lgtm:latest' container_name: grafana ports: - '8200:3000' - '8201:4317' - '8202:4318' prometheus: image: 'prom/prometheus:latest' container_name: prometheus ports: - "8300:9090" volumes: - ./prometheus.yaml:/etc/prometheus/prometheus.yml mongodb: image: mongo:latest container_name: api-database environment: - MONGO_INITDB_DATABASE=board-mate-db - MONGO_INITDB_ROOT_PASSWORD=secret - MONGO_INITDB_ROOT_USERNAME=root ports: - "8400:27017" volumes: - ./mongo-data:/data/db - ./mongo-init:/docker-entrypoint-initdb.d mosquitto: image: eclipse-mosquitto:latest container_name: api-broker ports: - "1883:1883" - "8883:8883" command: ["sh", "/mosquitto/config/init-mosquitto.sh"] volumes: - ./mosquitto/config:/mosquitto/config - ./mosquitto/data:/mosquitto/data - ./mosquitto/log:/mosquitto/log - ./mosquitto/certs:/mosquitto/certs ngrok: image: ngrok/ngrok:latest command: http --log=stdout nginx:8600 ports: - "8500:4040" environment: NGROK_AUTHTOKEN: 37gBJ6KZQIK9nwcq0mWlfRHqtvX_49hdE8PVLmRTzUVaNRJqx NGROK_PORT: nginx:8600 nginx: image: nginx:alpine container_name: nginx ports: - "8600:8080" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro depends_on: - boardmate-api