github.com/haalcala/mattermost-server-change-repo/v5@v5.33.2/docker-compose.yaml (about)

     1  version: '2.4'
     2  services:
     3    mysql:
     4      container_name: mattermost-mysql
     5      ports:
     6        - "3306:3306"
     7      extends:
     8          file: build/docker-compose.common.yml
     9          service: mysql
    10    postgres:
    11      container_name: mattermost-postgres
    12      ports:
    13        - "5432:5432"
    14      extends:
    15          file: build/docker-compose.common.yml
    16          service: postgres
    17    minio:
    18      container_name: mattermost-minio
    19      ports:
    20        - "9000:9000"
    21      extends:
    22          file: build/docker-compose.common.yml
    23          service: minio
    24    inbucket:
    25      container_name: mattermost-inbucket
    26      ports:
    27        - "10025:10025"
    28        - "10080:10080"
    29        - "10110:10110"
    30      extends:
    31          file: build/docker-compose.common.yml
    32          service: inbucket
    33    openldap:
    34      container_name: mattermost-openldap
    35      ports:
    36        - "389:389"
    37        - "636:636"
    38      extends:
    39          file: build/docker-compose.common.yml
    40          service: openldap
    41    elasticsearch:
    42      container_name: mattermost-elasticsearch
    43      ports:
    44        - "9200:9200"
    45        - "9300:9300"
    46      extends:
    47          file: build/docker-compose.common.yml
    48          service: elasticsearch
    49    dejavu:
    50      container_name: mattermost-dejavu
    51      ports:
    52        - "1358:1358"
    53      extends:
    54          file: build/docker-compose.common.yml
    55          service: dejavu
    56    keycloak:
    57      container_name: mattermost-saml
    58      ports:
    59        - "8484:8080"
    60      extends:
    61          file: build/docker-compose.common.yml
    62          service: keycloak
    63    prometheus:
    64      container_name: mattermost-prometheus
    65      ports:
    66        - "9090:9090"
    67      extends:
    68          file: build/docker-compose.common.yml
    69          service: prometheus
    70    grafana:
    71      container_name: mattermost-grafana
    72      ports:
    73        - "3000:3000"
    74      extends:
    75          file: build/docker-compose.common.yml
    76          service: grafana
    77  
    78    start_dependencies:
    79      image: mattermost/mattermost-wait-for-dep:latest
    80      networks:
    81        - mm-test
    82      depends_on:
    83        - mysql
    84        - postgres
    85        - minio
    86        - inbucket
    87        - openldap
    88        - elasticsearch
    89        - prometheus
    90        - grafana
    91      command: postgres:5432 mysql:3306 minio:9000 inbucket:10080 openldap:389 elasticsearch:9200 prometheus:9090 grafana:3000
    92  
    93    leader:
    94      build:
    95        context: .
    96        dockerfile: ./build/Dockerfile.buildenv
    97      working_dir: '/home/mattermost-server'
    98      environment:
    99        - "MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:mostest@postgres/mattermost_test?sslmode=disable\u0026connect_timeout=10"
   100        - "MM_NO_DOCKER=true"
   101        - "RUN_SERVER_IN_BACKGROUND=false"
   102      networks:
   103        - mm-test
   104      depends_on:
   105        - start_dependencies
   106      volumes:
   107        - './:/home/mattermost-server'
   108        - './../mattermost-webapp:/home/mattermost-webapp'
   109        - './../enterprise:/home/enterprise'
   110      restart: on-failure
   111      healthcheck:
   112        test: ["CMD", "curl", "-f", "http://leader:8065/api/v4/system/ping"]
   113        interval: 5s
   114        timeout: 10s
   115        retries: 30
   116      command: ['make', 'run-server']
   117      expose:
   118        - "8065"
   119  
   120    follower:
   121      build:
   122        context: .
   123        dockerfile: ./build/Dockerfile.buildenv
   124      working_dir: '/home/mattermost-server'
   125      environment:
   126        - "MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:mostest@postgres/mattermost_test?sslmode=disable\u0026connect_timeout=10"
   127        - "MM_NO_DOCKER=true"
   128        - "RUN_SERVER_IN_BACKGROUND=false"
   129      networks:
   130        - mm-test
   131      depends_on:
   132        - leader
   133      volumes:
   134        - './:/home/mattermost-server'
   135        - './../mattermost-webapp:/home/mattermost-webapp'
   136        - './../enterprise:/home/enterprise'
   137      healthcheck:
   138        test: ["CMD", "curl", "-f", "http://follower:8065/api/v4/system/ping"]
   139        interval: 5s
   140        timeout: 10s
   141        retries: 30
   142      command: ['make', 'run-server']
   143      restart: on-failure
   144      expose:
   145        - "8065"
   146  
   147    haproxy:
   148      image: nginx
   149      networks:
   150        - mm-test
   151      volumes:
   152        - ./build/docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
   153      restart: on-failure
   154      depends_on:
   155        - leader
   156        - follower
   157      ports:
   158        - "8065:8065"
   159  
   160  networks:
   161    mm-test:
   162      driver: bridge
   163      ipam:
   164        driver: default
   165        config:
   166          - subnet: 192.168.254.0/24
   167            ip_range: 192.168.254.0/24