Files
board-mate/api/compose.yaml
2025-12-30 11:46:45 +01:00

93 lines
2.5 KiB
YAML

services:
boardmate-api:
build:
context: .
dockerfile: Dockerfile
container_name: boardmate-api
ports:
- "8000:8080"
- "5005:5005"
environment:
BROKER_URL: "tcp://api-broker:1883"
BROKER_SECURE_URL: "tcp://api-broker:8883"
BROKER_USERNAME: "board-mate-api"
BROKER_PASSWORD: "hepl"
JWT_SECRET: "enY3OWU4djFyMTByNTZhcG9uY3Z0djQ5cnY0eDhhNWM0bjg5OTRjNDhidA=="
SSL_KEYSTORE_PATH: "/certs/keystore.p12"
MONGODB_URI: "mongodb://board-mate-user:apx820kcng@mongodb:27017/board-mate-db"
MONGO_DATABASE: "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
#mongo-express:
# image: mongo-express:latest
# depends_on:
# - mongodb
# ports:
# - "8401:8081"
# environment:
# - ME_CONFIG_MONGODB_SERVER=mongodb
# - ME_CONFIG_MONGODB_PORT=27017
# - ME_CONFIG_MONGODB_ADMINUSERNAME=root
# - ME_CONFIG_MONGODB_ADMINPASSWORD=secret
# - ME_CONFIG_MONGODB_AUTH_DATABASE=admin