version: '2.4' services: minio: image: mattermostdevelopment/mirrored-minio:RELEASE.2019-10-11T00-38-09Z-1 command: "server /data" environment: MINIO_ACCESS_KEY: minioaccesskey MINIO_SECRET_KEY: miniosecretkey MINIO_SSE_MASTER_KEY: "my-minio-key:6368616e676520746869732070617373776f726420746f206120736563726574" healthcheck: test: [ "CMD", "nc", "-z", "-w1", "127.0.0.1", "9000" ] interval: 10s timeout: 15s retries: 12 inbucket: image: mattermostdevelopment/mirrored-inbucket:3.0.0 restart: always environment: INBUCKET_WEB_ADDR: "0.0.0.0:9001" INBUCKET_POP3_ADDR: "0.0.0.0:10110" INBUCKET_SMTP_ADDR: "0.0.0.0:10025" healthcheck: test: [ "CMD", "nc", "-z", "-w1", "127.0.0.1", "10025" ] interval: 10s timeout: 15s retries: 12 openldap: image: mattermostdevelopment/mirrored-openldap:1.4.0 restart: always environment: LDAP_TLS_VERIFY_CLIENT: "never" LDAP_ORGANISATION: "Mattermost Test" LDAP_DOMAIN: "mm.test.com" LDAP_ADMIN_PASSWORD: "mostest" healthcheck: test: [ "CMD", "bash", "-o", "pipefail", "-c", "ss -ltn 'sport = :636' | grep -qE '^LISTEN'" ] interval: 10s timeout: 15s retries: 12 elasticsearch: image: mattermost/mattermost-elasticsearch-docker:7.17.3 environment: http.host: "0.0.0.0" http.port: 9200 http.cors.enabled: "true" http.cors.allow-origin: "http://localhost:1358,http://127.0.0.1:1358" http.cors.allow-headers: "X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization" http.cors.allow-credentials: "true" transport.host: "127.0.0.1" ES_JAVA_OPTS: "-Xms512m -Xmx2G" healthcheck: test: [ "CMD", "bash", "-o", "pipefail", "-c", "curl --silent localhost:9200/_cat/health | awk '{ print $$4 }' | grep -qE '^green$$'" ] interval: 10s timeout: 15s retries: 12 dejavu: image: mattermostdevelopment/mirrored-dejavu:3.4.2 healthcheck: test: [ "CMD", "nc", "-z", "-w1", "127.0.0.1", "1358" ] interval: 10s timeout: 15s retries: 12 keycloak: image: mattermostdevelopment/mirrored-keycloak:10.0.2 restart: always environment: KEYCLOAK_USER: mmuser KEYCLOAK_PASSWORD: mostest DB_VENDOR: h2 KEYCLOAK_IMPORT: /setup/realm.json JAVA_OPTS: "-Xms64m -Xmx2G -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true" volumes: - "./docker/keycloak:/setup" healthcheck: test: [ "CMD", "bash", "-o", "pipefail", "-c", "curl --silent localhost:9990/health | grep -q '\"status\":\"UP\"'" ] interval: 10s timeout: 15s retries: 12 prometheus: image: mattermostdevelopment/mirrored-prometheus:v2.27.1 volumes: - "./docker/prometheus-linux.yml:/etc/prometheus/prometheus.yml" healthcheck: test: [ "CMD", "wget", "-q", "-O-", "127.0.0.1:9090/-/ready" ] interval: 10s timeout: 15s retries: 12 # wget -q -O- localhost:3000/healthz | grep -q Ok grafana: image: mattermostdevelopment/mirrored-grafana:8.0.1 volumes: - "./docker/grafana/grafana.ini:/etc/grafana/grafana.ini" - "./docker/grafana/provisioning:/etc/grafana/provisioning" - "./docker/grafana/dashboards:/var/lib/grafana/dashboards" healthcheck: test: [ "CMD", "bash", "-o", "pipefail", "-c", "wget -q -O- localhost:3000/healthz | grep -q Ok" ] interval: 10s timeout: 15s retries: 12