mattermost-docker/docker-compose.yml
2021-04-12 14:40:45 +02:00

75 lines
2.2 KiB
YAML

# https://docs.docker.com/compose/environment-variables/
version: "3"
services:
postgres:
container_name: postgres_mattermost
image: postgres:${POSTGRES_IMAGE_TAG}
restart: unless-stopped
volumes:
- ${POSTGRES_DATA_PATH}:/var/lib/postgresql/data
environment:
# timezone inside container
- TZ
# necessay Postgres options/variables
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_DB
nginx:
container_name: nginx_mattermost
image: nginx:${NGINX_IMAGE_TAG}
restart: unless-stopped
volumes:
- ${NGINX_MATTERMOST_CONFIG}:/etc/nginx/conf.d/mattermost.conf:ro
- ${NGINX_DHPARAMS_FILE}:/dhparams4096.pem
- ${CERT_PATH}:/cert.pem:ro
- ${KEY_PATH}:/key.pem:ro
environment:
# timezone inside container
- TZ
ports:
- ${HTTPS_PORT}:443
- ${HTTP_PORT}:80
mattermost:
depends_on:
- postgres
- nginx
container_name: mattermost
image: mattermost/${MATTERMOST_IMAGE}:${MATTERMOST_IMAGE_TAG}
restart: unless-stopped
volumes:
- ${MATTERMOST_CONFIG_PATH}:/mattermost/config:rw
- ${MATTERMOST_DATA_PATH}:/mattermost/data:rw
- ${MATTERMOST_LOGS_PATH}:/mattermost/logs:rw
- ${MATTERMOST_PLUGINS_PATH}:/mattermost/plugins:rw
- ${MATTERMOST_CLIENT_PLUGINS_PATH}:/mattermost/client-plugins:rw
environment:
# timezone inside container
- TZ
# necessary Mattermost options/variables (see env.example)
- MM_SQLSETTINGS_DRIVERNAME
- MM_SQLSETTINGS_DATASOURCE
- MM_SERVICESETTINGS_SITEURL
- MM_LOGSETTINGS_CONSOLELEVEL
- MM_LOGSETTINGS_FILELEVEL
- MM_PASSWORDSETTINGS_MINIMUMLENGTH
- MM_PASSWORDSETTINGS_SYMBOL
- MM_PASSWORDSETTINGS_UPPERCASE
# If you use rolling image tags and feel lucky watchtower can automatically pull new images and
# instantiate containers from it. https://containrrr.dev/watchtower/
# Please keep in mind watchtower will have access on the docker socket. This can be a security risk.
#
# watchtower:
# container_name: watchtower
# image: containrrr/watchtower:latest
# restart: unless-stopped
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock