mirror of
https://github.com/mattermost/mattermost.git
synced 2026-02-03 20:40:00 -05:00
Some checks are pending
API / build (push) Waiting to run
Server CI / Compute Go Version (push) Waiting to run
Server CI / Check mocks (push) Blocked by required conditions
Server CI / Check go mod tidy (push) Blocked by required conditions
Server CI / check-style (push) Blocked by required conditions
Server CI / Check serialization methods for hot structs (push) Blocked by required conditions
Server CI / Vet API (push) Blocked by required conditions
Server CI / Check migration files (push) Blocked by required conditions
Server CI / Generate email templates (push) Blocked by required conditions
Server CI / Check store layers (push) Blocked by required conditions
Server CI / Check mmctl docs (push) Blocked by required conditions
Server CI / Postgres with binary parameters (push) Blocked by required conditions
Server CI / Postgres (push) Blocked by required conditions
Server CI / Postgres (FIPS) (push) Blocked by required conditions
Server CI / Generate Test Coverage (push) Blocked by required conditions
Server CI / Run mmctl tests (push) Blocked by required conditions
Server CI / Run mmctl tests (FIPS) (push) Blocked by required conditions
Server CI / Build mattermost server app (push) Blocked by required conditions
Web App CI / check-lint (push) Waiting to run
Web App CI / check-i18n (push) Waiting to run
Web App CI / check-types (push) Waiting to run
Web App CI / test (push) Waiting to run
Web App CI / build (push) Waiting to run
allow docker to apply proper security context to volume mounts in case host is running SELinux security by adding :Z in affected volume declarations
250 lines
6.3 KiB
YAML
250 lines
6.3 KiB
YAML
services:
|
|
postgres:
|
|
container_name: mattermost-postgres
|
|
ports:
|
|
- "5432:5432"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: postgres
|
|
minio:
|
|
container_name: mattermost-minio
|
|
ports:
|
|
- "9000:9000"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: minio
|
|
inbucket:
|
|
container_name: mattermost-inbucket
|
|
ports:
|
|
- "9001:9001"
|
|
- "10025:10025"
|
|
- "10110:10110"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: inbucket
|
|
openldap:
|
|
container_name: mattermost-openldap
|
|
ports:
|
|
- "389:389"
|
|
- "636:636"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: openldap
|
|
elasticsearch:
|
|
container_name: mattermost-elasticsearch
|
|
ports:
|
|
- "9200:9200"
|
|
- "9300:9300"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: elasticsearch
|
|
opensearch:
|
|
container_name: mattermost-opensearch
|
|
ports:
|
|
- "9201:9201"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: opensearch
|
|
redis:
|
|
container_name: mattermost-redis
|
|
ports:
|
|
- "6379:6379"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: redis
|
|
dejavu:
|
|
container_name: mattermost-dejavu
|
|
ports:
|
|
- "1358:1358"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: dejavu
|
|
keycloak:
|
|
container_name: mattermost-saml
|
|
ports:
|
|
- "8484:8080"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: keycloak
|
|
prometheus:
|
|
container_name: mattermost-prometheus
|
|
ports:
|
|
- "9090:9090"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: prometheus
|
|
grafana:
|
|
container_name: mattermost-grafana
|
|
ports:
|
|
- "3000:3000"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: grafana
|
|
loki:
|
|
container_name: mattermost-loki
|
|
ports:
|
|
- "3100:3100"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: loki
|
|
promtail:
|
|
container_name: mattermost-promtail
|
|
ports:
|
|
- "3180:3180"
|
|
extends:
|
|
file: build/docker-compose.common.yml
|
|
service: promtail
|
|
|
|
start_dependencies:
|
|
image: mattermost/mattermost-wait-for-dep:latest
|
|
networks:
|
|
- mm-test
|
|
depends_on:
|
|
- postgres
|
|
- minio
|
|
- inbucket
|
|
- openldap
|
|
- elasticsearch
|
|
- opensearch
|
|
- prometheus
|
|
- grafana
|
|
- loki
|
|
- promtail
|
|
command: postgres:5432 minio:9000 inbucket:9001 openldap:389 elasticsearch:9200 opensearch:9201 prometheus:9090 grafana:3000 loki:3100 promtail:3180
|
|
|
|
leader:
|
|
build:
|
|
context: .
|
|
dockerfile: ./build/Dockerfile.buildenv
|
|
working_dir: '/home/mattermost-server/server'
|
|
environment:
|
|
- "MM_SQLSETTINGS_DRIVERNAME=postgres"
|
|
- "MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:mostest@postgres/mattermost_test?sslmode=disable\u0026connect_timeout=10"
|
|
- "MM_NO_DOCKER=true"
|
|
- "RUN_SERVER_IN_BACKGROUND=false"
|
|
- "MM_CLUSTERSETTINGS_ENABLE=true"
|
|
- "MM_CLUSTERSETTINGS_CLUSTERNAME=mm_dev_cluster"
|
|
- "MM_LOGSETTINGS_FILELOCATION=./logs/leader"
|
|
networks:
|
|
- mm-test
|
|
depends_on:
|
|
- start_dependencies
|
|
volumes:
|
|
- './../:/home/mattermost-server'
|
|
- './../../enterprise:/home/enterprise'
|
|
restart: on-failure
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://leader:8065/api/v4/system/ping"]
|
|
interval: 5s
|
|
timeout: 30s
|
|
retries: 30
|
|
start_period: 5m
|
|
user: ${CURRENT_UID}
|
|
command: ['make', 'run-server']
|
|
expose:
|
|
- "8065"
|
|
- "8064/tcp"
|
|
- "8064/udp"
|
|
- "8074/tcp"
|
|
- "8074/udp"
|
|
- "8075"
|
|
|
|
follower:
|
|
build:
|
|
context: .
|
|
dockerfile: ./build/Dockerfile.buildenv
|
|
working_dir: '/home/mattermost-server/server'
|
|
environment:
|
|
- "MM_SQLSETTINGS_DRIVERNAME=postgres"
|
|
- "MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:mostest@postgres/mattermost_test?sslmode=disable\u0026connect_timeout=10"
|
|
- "MM_NO_DOCKER=true"
|
|
- "RUN_SERVER_IN_BACKGROUND=false"
|
|
- "MM_CLUSTERSETTINGS_ENABLE=true"
|
|
- "MM_CLUSTERSETTINGS_CLUSTERNAME=mm_dev_cluster"
|
|
- "MM_LOGSETTINGS_FILELOCATION=./logs/follower"
|
|
networks:
|
|
- mm-test
|
|
depends_on:
|
|
- leader
|
|
volumes:
|
|
- './../:/home/mattermost-server:Z'
|
|
- './../../enterprise:/home/enterprise:Z'
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://follower:8065/api/v4/system/ping"]
|
|
interval: 5s
|
|
timeout: 30s
|
|
retries: 30
|
|
start_period: 5m
|
|
user: ${CURRENT_UID}
|
|
command: ['make', 'run-server']
|
|
restart: on-failure
|
|
expose:
|
|
- "8065"
|
|
- "8064/tcp"
|
|
- "8064/udp"
|
|
- "8074/tcp"
|
|
- "8074/udp"
|
|
- "8075"
|
|
|
|
follower2:
|
|
build:
|
|
context: .
|
|
dockerfile: ./build/Dockerfile.buildenv
|
|
working_dir: '/home/mattermost-server/server'
|
|
environment:
|
|
- "MM_SQLSETTINGS_DRIVERNAME=postgres"
|
|
- "MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:mostest@postgres/mattermost_test?sslmode=disable\u0026connect_timeout=10"
|
|
- "MM_NO_DOCKER=true"
|
|
- "RUN_SERVER_IN_BACKGROUND=false"
|
|
- "MM_CLUSTERSETTINGS_ENABLE=true"
|
|
- "MM_CLUSTERSETTINGS_CLUSTERNAME=mm_dev_cluster"
|
|
- "MM_LOGSETTINGS_FILELOCATION=./logs/follower2"
|
|
networks:
|
|
- mm-test
|
|
depends_on:
|
|
- leader
|
|
volumes:
|
|
- './../:/home/mattermost-server:Z'
|
|
- './../../enterprise:/home/enterprise:Z'
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://follower2:8065/api/v4/system/ping"]
|
|
interval: 5s
|
|
timeout: 30s
|
|
retries: 30
|
|
start_period: 5m
|
|
user: ${CURRENT_UID}
|
|
command: ['make', 'run-server']
|
|
restart: on-failure
|
|
expose:
|
|
- "8065"
|
|
- "8064/tcp"
|
|
- "8064/udp"
|
|
- "8074/tcp"
|
|
- "8074/udp"
|
|
- "8075"
|
|
|
|
haproxy:
|
|
image: nginx
|
|
networks:
|
|
- mm-test
|
|
volumes:
|
|
- ./build/docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:Z
|
|
restart: on-failure
|
|
depends_on:
|
|
leader:
|
|
condition: service_healthy
|
|
follower:
|
|
condition: service_healthy
|
|
follower2:
|
|
condition: service_healthy
|
|
ports:
|
|
- "8065:8065"
|
|
|
|
networks:
|
|
mm-test:
|
|
driver: bridge
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: 192.168.254.0/24
|
|
ip_range: 192.168.254.0/24
|