88 lines
2.2 KiB
YAML
88 lines
2.2 KiB
YAML
services:
|
|
|
|
app:
|
|
image: mattermost/mattermost-team-edition:10.4
|
|
container_name: ${mattermostServName}
|
|
restart: ${restartPolicy}
|
|
volumes:
|
|
- matterConfig:/mattermost/config:rw
|
|
- matterData:/mattermost/data:rw
|
|
- matterLogs:/mattermost/logs:rw
|
|
- matterPlugins:/mattermost/plugins:rw
|
|
- matterClientPlugins:/mattermost/client/plugins:rw
|
|
- /etc/ssl:/etc/ssl:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/environment:/etc/environment:ro
|
|
env_file:
|
|
- ../../secret/env-${mattermostServName}
|
|
environment:
|
|
- VIRTUAL_HOST=mattermost.${domain}
|
|
- MM_PASSWORDSETTINGS_MINIMUMLENGTH=10
|
|
- MM_PASSWORDSETTINGS_LOWERCASE=false
|
|
- MM_PASSWORDSETTINGS_UPPERCASE=false
|
|
- MM_PASSWORDSETTINGS_NUMBER=false
|
|
- MM_PASSWORDSETTINGS_SYMBOL=true
|
|
depends_on:
|
|
- postgres
|
|
links:
|
|
- postgres
|
|
expose:
|
|
- ${matterPort}
|
|
networks:
|
|
- mattermostNet
|
|
- postfixNet
|
|
external_links:
|
|
- ${smtpServName}:${smtpHost}.${domain}
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.${mattermostServName}.rule=Host(`${matterHost}.${domain}`)"
|
|
- "traefik.http.services.${mattermostServName}.loadbalancer.server.port=${matterPort}"
|
|
- "traefik.docker.network=mattermostNet"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://app:${matterPort}"]
|
|
interval: 20s
|
|
retries: 10
|
|
start_period: 20s
|
|
timeout: 10s
|
|
|
|
postgres:
|
|
image: postgres:17-alpine
|
|
container_name: matterPG
|
|
restart: ${restartPolicy}
|
|
networks:
|
|
- mattermostNet
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
pids_limit: 100
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp
|
|
- /var/run/postgresql
|
|
volumes:
|
|
- matterPG:/var/lib/postgresql/data
|
|
# environment:
|
|
# timezone inside container
|
|
# - TZ
|
|
env_file:
|
|
- ../../secret/env-${mattermostDBName}
|
|
|
|
|
|
volumes:
|
|
matterPG:
|
|
matterConfig:
|
|
matterData:
|
|
matterLogs:
|
|
matterPlugins:
|
|
matterClientPlugins:
|
|
matterConfigLangSrv:
|
|
matterConfigLangClt:
|
|
|
|
networks:
|
|
mattermostNet:
|
|
external: true
|
|
name: mattermostNet
|
|
postfixNet:
|
|
external: true
|
|
name: postfixNet
|