From b7e9b7fc394a4411b0f1c95eea84a7158f89ef43 Mon Sep 17 00:00:00 2001 From: naterfute Date: Mon, 31 Mar 2025 20:42:55 -0700 Subject: [PATCH] mattermost --- blueprints/mattermost/docker-compose.yml | 50 ++++++++++++++++++++++++ blueprints/mattermost/template.toml | 19 +++++++++ 2 files changed, 69 insertions(+) create mode 100644 blueprints/mattermost/docker-compose.yml create mode 100644 blueprints/mattermost/template.toml diff --git a/blueprints/mattermost/docker-compose.yml b/blueprints/mattermost/docker-compose.yml new file mode 100644 index 0000000..5b29df2 --- /dev/null +++ b/blueprints/mattermost/docker-compose.yml @@ -0,0 +1,50 @@ +# https://docs.docker.com/compose/environment-variables/ +services: + postgres: + image: postgres:17 + restart: unless-stopped + security_opt: + - no-new-privileges:true + pids_limit: 100 + read_only: true + tmpfs: + - /tmp + - /var/run/postgresql + volumes: + - ${POSTGRES_DATA_PATH}:/var/lib/postgresql/data + environment: + - TZ + - POSTGRES_USER + - POSTGRES_PASSWORD + - POSTGRES_DB + + mattermost: + depends_on: + - postgres + image: mattermost/mattermost-team-edition:9.11.6 + restart: unless-stopped + security_opt: + - no-new-privileges:true + pids_limit: 200 + read_only: ${MATTERMOST_CONTAINER_READONLY} + tmpfs: + - /tmp + volumes: + - mattermostconf:/mattermost/config:rw + - mattermostdata:/mattermost/data:rw + - mattermostlogs:/mattermost/logs:rw + - mattermostplugsin:/mattermost/plugins:rw + - mattermostclientplugins:/mattermost/client/plugins:rw + - mattermostBleveIndexes:/mattermost/bleve-indexes:rw + + environment: + - DOMAIN=mm.example.com + - TZ + - POSTGRES_USER + - POSTGRES_PASSWORD + - POSTGRES_DB + - MM_SQLSETTINGS_DRIVERNAME + - MM_SQLSETTINGS_DATASOURCE + - MM_BLEVESETTINGS_INDEXDIR + - MM_SERVICESETTINGS_SITEURL + - APP_PORT diff --git a/blueprints/mattermost/template.toml b/blueprints/mattermost/template.toml new file mode 100644 index 0000000..b6461c6 --- /dev/null +++ b/blueprints/mattermost/template.toml @@ -0,0 +1,19 @@ +[variables] +main_domain = "${domain}" + +[config] +env = [ +"POSTGRES_USER=mmuser", +"POSTGRES_PASSWORD=mmuser_password", +"POSTGRES_DB=mattermost", +"MM_SQLSETTINGS_DRIVERNAME=postgres", +"MM_SQLSETTINGS_DATASOURCE=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}?sslmode=disable&connect_timeout=10", +"APP_PORT=8065", +"TZ=UTC", +] +mounts = [] + +[[config.domains]] +serviceName = "mattermost" +port = 8065 +host = "${main_domain}"