services:
  nats:
    container_name: cc-nats
    image: nats:alpine
    ports:
      - "4222:4222"
      - "8222:8222"

  cc-metric-store:
    container_name: cc-metric-store
    build:
      context: ./cc-metric-store
    ports:
      - "8084:8084"
    volumes:
      - ${DATADIR}/cc-metric-store:/data
    depends_on:
      - nats

  influxdb:
    container_name: cc-influxdb
    image: influxdb
    command: ["--reporting-disabled"]
    environment:
      DOCKER_INFLUXDB_INIT_MODE: setup
      DOCKER_INFLUXDB_INIT_USERNAME: devel
      DOCKER_INFLUXDB_INIT_PASSWORD: ${INFLUXDB_PASSWORD}
      DOCKER_INFLUXDB_INIT_ORG: ${INFLUXDB_ORG}
      DOCKER_INFLUXDB_INIT_BUCKET: ${INFLUXDB_BUCKET}
      DOCKER_INFLUXDB_INIT_RETENTION: 100w
      DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: ${INFLUXDB_ADMIN_TOKEN}
    ports:
      - "127.0.0.1:${INFLUXDB_PORT}:8086"
    volumes:
      - ${DATADIR}/influxdb/data:/var/lib/influxdb2
      - ${DATADIR}/influxdb/config:/etc/influxdb2

  openldap:
    container_name: cc-ldap
    image: osixia/openldap:1.5.0
    command: --copy-service --loglevel debug
    environment:
      - LDAP_ADMIN_PASSWORD=${LDAP_ADMIN_PASSWORD}
      - LDAP_ORGANISATION=${LDAP_ORGANISATION}
      - LDAP_DOMAIN=${LDAP_DOMAIN}
    volumes:
      - ${DATADIR}/ldap:/container/service/slapd/assets/config/bootstrap/ldif/custom

  db:
    container_name: cc-db
    image: mariadb:latest
    command: ["--default-authentication-plugin=mysql_native_password"]
    environment:
      MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
      MARIADB_DATABASE: ${MARIADB_DATABASE}
      MARIADB_USER: ${MARIADB_USER}
      MARIADB_PASSWORD: ${MARIADB_PASSWORD}
    ports:
      - "127.0.0.1:${MARIADB_PORT}:3306"
    # volumes:
      # - ${DATADIR}/sql-init:/docker-entrypoint-initdb.d
    cap_add:
      - SYS_NICE

  phpmyadmin:
    container_name: cc-phpmyadmin
    image: phpmyadmin
    environment:
      - PMA_HOST=cc-db
      - PMA_USER=root
      - PMA_PASSWORD=${MARIADB_ROOT_PASSWORD}
    ports:
      - "127.0.0.1:${PHPMYADMIN_PORT}:80"
    depends_on:
      - db