107 lines
3.3 KiB
YAML
107 lines
3.3 KiB
YAML
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 |