version: '3.7'
services:

  influxdb:
    image: influxdb:1.8
    container_name: influxdb
    restart: unless-stopped
    ports:
      - 8086:8086
    volumes:
      - /dockers/influxdb:/var/lib/influxdb
    environment:
      - INFLUXDB_ADMIN_ENABLED=$INFLUXDB_ADMIN_ENABLED
      - INFLUXDB_ADMIN_USER=$INFLUXDB_ADMIN_USER
      - INFLUXDB_ADMIN_PASSWORD=$INFLUXDB_ADMIN_PASSWORD
      - INFLUXDB_DB=$INFLUX_DB
      - INFLUXDB_USER=$INFLUX_USER
      - INFLUX_USER_PASSWORD=$INFLUX_USER_PASSWORD
    logging:
      options:
        max-size: "10m"
        max-file: "3"

  chronograf:
    image: chronograf
    container_name: chronograf
    restart: unless-stopped
    environment:
      - INFLUXDB_URL=http://influxdb:8086
    logging:
      options:
        max-size: "10m"
        max-file: "3"

  mariadb:
    image: linuxserver/mariadb
    container_name: mariadb
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
    volumes:
      - /dockers/mariadb:/config
    ports:
      - 3306:3306
    logging:
      options:
        max-size: "10m"
        max-file: "3"

  mongo:
    image: mongo:4.4.29
    container_name: mongo
    restart: always
    volumes:
      - /dockers/mongo/data:/data/db
      - /dockers/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
    logging:
      options:
        max-size: "10m"
        max-file: "3"

  mongo-express:
    image: mongo-express
    container_name: mongoexpress
    restart: always
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: $MONGO_USER
      ME_CONFIG_MONGODB_ADMINPASSWORD: $MONGO_PASS
      ME_CONFIG_MONGODB_URL: mongodb://$MONGO_USER:$MONGO_PASS@mongo:27017/
    logging:
      options:
        max-size: "10m"
        max-file: "3"

  phpmyadmin:
    image: phpmyadmin
    container_name: phpmyadmin
    restart: unless-stopped
    depends_on:
      - mariadb
    environment:
      - PMA_HOST=mariadb
      - PMA_PORT=3306
    logging:
      options:
        max-size: "10m"
        max-file: "3"

  postgres:
    image: postgres:14.7-alpine
    container_name: postgres
    restart: unless-stopped
    environment:
      - POSTGRES_PASSWORD=$POSTGRES_PASSWORD
    volumes:
      - /dockers/postgres:/var/lib/postgresql/data
    ports:
      - 5432:5432
    logging:
      options:
        max-size: "10m"
        max-file: "3"

  pgadmin4:
    image: dpage/pgadmin4
    container_name: pgadmin
    restart: unless-stopped
    environment:
      - PGADMIN_DEFAULT_EMAIL=$PGADMIN_DEFAULT_EMAIL
      - PGADMIN_DEFAULT_PASSWORD=$PGADMIN_DEFAULT_PASSWORD
      - PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION=True
      - 'PGADMIN_CONFIG_LOGIN_BANNER="Authorised users only!"'
      - PGADMIN_CONFIG_CONSOLE_LOG_LEVEL=10
    logging:
      options:
        max-size: "10m"
        max-file: "3"

networks:
  default:
    name: dockers_default
    external: true