version: '2.4' services: postgres: image: mattermostdevelopment/mirrored-postgres:12 restart: always environment: POSTGRES_USER: mmuser POSTGRES_PASSWORD: mostest POSTGRES_DB: mattermost_test command: postgres -c 'config_file=/etc/postgresql/postgresql.conf' volumes: - "./docker/postgres.conf:/etc/postgresql/postgresql.conf" healthcheck: test: [ "CMD", "pg_isready", "-h", "localhost" ] interval: 10s timeout: 15s retries: 12 networks: default: aliases: - postgres minio: extends: file: gitlab-dc.common.yml service: minio networks: default: aliases: - minio inbucket: extends: file: gitlab-dc.common.yml service: inbucket networks: default: aliases: - inbucket openldap: extends: file: gitlab-dc.common.yml service: openldap networks: default: aliases: - openldap elasticsearch: extends: file: gitlab-dc.common.yml service: elasticsearch networks: default: aliases: - elasticsearch dejavu: extends: file: gitlab-dc.common.yml service: dejavu networks: default: aliases: - dejavu keycloak: extends: file: gitlab-dc.common.yml service: keycloak prometheus: extends: file: gitlab-dc.common.yml service: prometheus networks: default: aliases: - prometheus grafana: extends: file: gitlab-dc.common.yml service: grafana networks: default: aliases: - grafana start_dependencies: image: mattermost/mattermost-wait-for-dep:latest depends_on: - postgres - minio - inbucket - openldap - elasticsearch command: postgres:5432 minio:9000 inbucket:9001 openldap:389 elasticsearch:9200 networks: default: networks: default: name: ${COMPOSE_PROJECT_NAME} external: true