Files
compose-anything/apps/mattermost/docker-compose.yaml
T

85 lines
2.8 KiB
YAML

x-defaults: &defaults
restart: unless-stopped
logging:
driver: json-file
options:
max-size: ${MATTERMOST_LOG_MAX_SIZE:-100m}
max-file: '${MATTERMOST_LOG_MAX_FILE:-3}'
services:
mattermost-postgres:
<<: *defaults
image: ${GLOBAL_REGISTRY:-}postgres:${POSTGRES_VERSION:-17-alpine}
environment:
- TZ=${TZ:-UTC}
- POSTGRES_DB=${POSTGRES_DB:-mattermost}
- POSTGRES_USER=${POSTGRES_USER:-mmuser}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-mmchangeit}
- PGDATA=/var/lib/postgresql/data/pgdata
volumes:
- mattermost_postgres_data:/var/lib/postgresql/data
healthcheck:
test: [CMD-SHELL, pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB]
interval: 15s
timeout: 5s
retries: 10
start_period: 20s
deploy:
resources:
limits:
cpus: ${MATTERMOST_DB_CPU_LIMIT:-1.00}
memory: ${MATTERMOST_DB_MEMORY_LIMIT:-1G}
reservations:
cpus: ${MATTERMOST_DB_CPU_RESERVATION:-0.25}
memory: ${MATTERMOST_DB_MEMORY_RESERVATION:-256M}
mattermost:
<<: *defaults
image: ${GLOBAL_REGISTRY:-}mattermost/mattermost-team-edition:${MATTERMOST_VERSION:-11.3}
depends_on:
mattermost-postgres:
condition: service_healthy
ports:
- '${MATTERMOST_PORT_OVERRIDE:-8065}:8065'
environment:
- TZ=${TZ:-UTC}
- MM_SQLSETTINGS_DRIVERNAME=postgres
- MM_SQLSETTINGS_DATASOURCE=postgres://${POSTGRES_USER:-mmuser}:${POSTGRES_PASSWORD:-mmchangeit}@mattermost-postgres:5432/${POSTGRES_DB:-mattermost}?sslmode=disable&connect_timeout=10
- MM_SERVICESETTINGS_SITEURL=${MATTERMOST_SITE_URL:-http://localhost:8065}
- MM_SERVICESETTINGS_ENABLELOCALMODE=${MATTERMOST_ENABLE_LOCAL_MODE:-false}
- MM_PLUGINSETTINGS_ENABLEUPLOADS=true
- MM_BLEVESETTINGS_INDEXDIR=/mattermost/bleve-indexes
- MM_FILESETTINGS_DIRECTORY=/mattermost/data
env_file:
- .env
volumes:
- mattermost_config:/mattermost/config
- mattermost_data:/mattermost/data
- mattermost_logs:/mattermost/logs
- mattermost_plugins:/mattermost/plugins
- mattermost_client_plugins:/mattermost/client/plugins
- mattermost_bleve_indexes:/mattermost/bleve-indexes
healthcheck:
test: [CMD, /mattermost/bin/mmctl, system, status, --local]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
deploy:
resources:
limits:
cpus: ${MATTERMOST_CPU_LIMIT:-2.00}
memory: ${MATTERMOST_MEMORY_LIMIT:-2G}
reservations:
cpus: ${MATTERMOST_CPU_RESERVATION:-0.50}
memory: ${MATTERMOST_MEMORY_RESERVATION:-512M}
volumes:
mattermost_postgres_data:
mattermost_config:
mattermost_data:
mattermost_logs:
mattermost_plugins:
mattermost_client_plugins:
mattermost_bleve_indexes: