From 1cf829eb7c8518a3642a452717f2ceae62450470 Mon Sep 17 00:00:00 2001 From: okxlin Date: Mon, 29 Jul 2024 12:52:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0mattermost=E5=88=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mattermost/9.10.1/.env.sample | 22 +++ apps/mattermost/9.10.1/data.yml | 146 ++++++++++++++++++ .../9.10.1/data/client/plugins/.gitkeep | 0 apps/mattermost/9.10.1/data/config/.gitkeep | 0 apps/mattermost/9.10.1/data/logs/.gitkeep | 0 apps/mattermost/9.10.1/data/plugins/.gitkeep | 0 apps/mattermost/9.10.1/docker-compose.yml | 37 +++++ apps/mattermost/9.10.1/scripts/init.sh | 3 + apps/mattermost/README.md | 3 + apps/mattermost/data.yml | 19 +++ apps/mattermost/latest/.env.sample | 22 +++ apps/mattermost/latest/data.yml | 146 ++++++++++++++++++ .../latest/data/client/plugins/.gitkeep | 0 apps/mattermost/latest/data/config/.gitkeep | 0 apps/mattermost/latest/data/logs/.gitkeep | 0 apps/mattermost/latest/data/plugins/.gitkeep | 0 apps/mattermost/latest/docker-compose.yml | 37 +++++ apps/mattermost/latest/scripts/init.sh | 3 + apps/mattermost/logo.png | Bin 0 -> 4407 bytes 19 files changed, 438 insertions(+) create mode 100644 apps/mattermost/9.10.1/.env.sample create mode 100644 apps/mattermost/9.10.1/data.yml create mode 100644 apps/mattermost/9.10.1/data/client/plugins/.gitkeep create mode 100644 apps/mattermost/9.10.1/data/config/.gitkeep create mode 100644 apps/mattermost/9.10.1/data/logs/.gitkeep create mode 100644 apps/mattermost/9.10.1/data/plugins/.gitkeep create mode 100644 apps/mattermost/9.10.1/docker-compose.yml create mode 100644 apps/mattermost/9.10.1/scripts/init.sh create mode 100644 apps/mattermost/README.md create mode 100644 apps/mattermost/data.yml create mode 100644 apps/mattermost/latest/.env.sample create mode 100644 apps/mattermost/latest/data.yml create mode 100644 apps/mattermost/latest/data/client/plugins/.gitkeep create mode 100644 apps/mattermost/latest/data/config/.gitkeep create mode 100644 apps/mattermost/latest/data/logs/.gitkeep create mode 100644 apps/mattermost/latest/data/plugins/.gitkeep create mode 100644 apps/mattermost/latest/docker-compose.yml create mode 100644 apps/mattermost/latest/scripts/init.sh create mode 100644 apps/mattermost/logo.png diff --git a/apps/mattermost/9.10.1/.env.sample b/apps/mattermost/9.10.1/.env.sample new file mode 100644 index 00000000..0ea3d544 --- /dev/null +++ b/apps/mattermost/9.10.1/.env.sample @@ -0,0 +1,22 @@ +CONTAINER_NAME="mattermost" +GITLAB_PKI_CHAIN_PATH="" +MATTERMOST_BLEVE_INDEXES_PATH="./data/bleve/indexes" +MATTERMOST_CLIENT_PLUGINS_PATH="./data/client/plugins" +MATTERMOST_CONFIG_PATH="./data/config" +MATTERMOST_CONTAINER_READONLY="false" +MATTERMOST_DATA_PATH="./data/data" +MATTERMOST_LOGS_PATH="./data/logs" +MATTERMOST_PLUGINS_PATH="./data/plugins" +MM_BLEVESETTINGS_INDEXDIR="/mattermost/bleve-indexes" +MM_SERVICESETTINGS_SITEURL="http://192.168.123.9:40271" +MM_SQLSETTINGS_DRIVERNAME="postgres" +PANEL_APP_PORT_CALLS=40272 +PANEL_APP_PORT_HTTP=40271 +PANEL_DB_HOST="postgresql" +PANEL_DB_HOST_NAME="postgresql" +PANEL_DB_NAME="mattermost" +PANEL_DB_PORT=5432 +PANEL_DB_TYPE="postgresql" +PANEL_DB_USER="mattermost" +PANEL_DB_USER_PASSWORD="mattermost" +TZ="Asia/Shanghai" diff --git a/apps/mattermost/9.10.1/data.yml b/apps/mattermost/9.10.1/data.yml new file mode 100644 index 00000000..2566510a --- /dev/null +++ b/apps/mattermost/9.10.1/data.yml @@ -0,0 +1,146 @@ +additionalProperties: + formFields: + - default: 40271 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: 40272 + edit: true + envKey: PANEL_APP_PORT_CALLS + labelEn: RTC Port + labelZh: RTC 服务端口 + required: true + rule: paramPort + type: number + - default: "false" + edit: true + envKey: MATTERMOST_CONTAINER_READONLY + labelEn: Read Only Container + labelZh: 只读容器 + required: false + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "./data/config" + disabled: true + envKey: MATTERMOST_CONFIG_PATH + labelEn: Config Path + labelZh: 配置路径 + required: true + type: text + - default: "./data/data" + disabled: true + envKey: MATTERMOST_DATA_PATH + labelEn: Data Path + labelZh: 数据路径 + required: true + type: text + - default: "./data/logs" + disabled: true + envKey: MATTERMOST_LOGS_PATH + labelEn: Logs Path + labelZh: 日志路径 + required: true + type: text + - default: "./data/plugins" + disabled: true + envKey: MATTERMOST_PLUGINS_PATH + labelEn: Plugins Path + labelZh: 插件路径 + required: true + type: text + - default: "./data/client/plugins" + disabled: true + envKey: MATTERMOST_CLIENT_PLUGINS_PATH + labelEn: Client Plugins Path + labelZh: 客户端插件路径 + required: true + type: text + - default: "" + edit: true + envKey: GITLAB_PKI_CHAIN_PATH + labelEn: GitLab PKI Chain Path (Edit to remove comments in compose.yml to take effect) + labelZh: GitLab PKI 链路径 (编辑去除compose.yml里的注释生效) + required: false + type: text + - default: "./data/bleve/indexes" + edit: true + envKey: MATTERMOST_BLEVE_INDEXES_PATH + labelEn: Bleve Indexes Path + labelZh: Bleve 索引路径 + required: true + type: text + - default: "Asia/Shanghai" + edit: true + envKey: TZ + labelEn: Time Zone + labelZh: 时区 + required: true + type: text + - default: "postgres" + disabled: true + envKey: MM_SQLSETTINGS_DRIVERNAME + labelEn: SQL Driver Name + labelZh: SQL 驱动名称 + required: true + type: text + - default: "/mattermost/bleve-indexes" + disabled: true + envKey: MM_BLEVESETTINGS_INDEXDIR + labelEn: Bleve Index Directory + labelZh: Bleve 索引目录 + required: true + type: text + - default: "http://localhost:40271" + edit: true + envKey: MM_SERVICESETTINGS_SITEURL + labelEn: Site URL + labelZh: 站点 URL + required: true + rule: paramExtUrl + type: text + - default: postgresql + envKey: PANEL_DB_TYPE + labelEn: Database Service + labelZh: 数据库服务 + required: true + type: apps + child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + values: + - label: PostgreSQL + value: postgresql + - default: mattermost + envKey: PANEL_DB_NAME + labelEn: Database + labelZh: 数据库名 + random: true + required: true + rule: paramCommon + type: text + - default: mattermost + envKey: PANEL_DB_USER + labelEn: User + labelZh: 数据库用户 + random: true + required: true + rule: paramCommon + type: text + - default: mattermost + envKey: PANEL_DB_USER_PASSWORD + labelEn: Password + labelZh: 数据库用户密码 + random: true + required: true + rule: paramComplexity + type: password \ No newline at end of file diff --git a/apps/mattermost/9.10.1/data/client/plugins/.gitkeep b/apps/mattermost/9.10.1/data/client/plugins/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/mattermost/9.10.1/data/config/.gitkeep b/apps/mattermost/9.10.1/data/config/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/mattermost/9.10.1/data/logs/.gitkeep b/apps/mattermost/9.10.1/data/logs/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/mattermost/9.10.1/data/plugins/.gitkeep b/apps/mattermost/9.10.1/data/plugins/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/mattermost/9.10.1/docker-compose.yml b/apps/mattermost/9.10.1/docker-compose.yml new file mode 100644 index 00000000..883261b7 --- /dev/null +++ b/apps/mattermost/9.10.1/docker-compose.yml @@ -0,0 +1,37 @@ +services: + mattermost: + image: "mattermost/mattermost-team-edition:9.10.1" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8065 + - ${PANEL_APP_PORT_CALLS}:8443/udp + - ${PANEL_APP_PORT_CALLS}:8443/tcp + security_opt: + - no-new-privileges:true + read_only: ${MATTERMOST_CONTAINER_READONLY} + tmpfs: + - /tmp + 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 + - ${MATTERMOST_BLEVE_INDEXES_PATH}:/mattermost/bleve-indexes:rw + # 删除以下行前的#号表示启用 + #- ${GITLAB_PKI_CHAIN_PATH}:/etc/ssl/certs/pki_chain.pem:ro + environment: + - TZ=${TZ} + - MM_SQLSETTINGS_DRIVERNAME=${MM_SQLSETTINGS_DRIVERNAME} + - MM_SQLSETTINGS_DATASOURCE=${MM_SQLSETTINGS_DRIVERNAME}://${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@${PANEL_DB_HOST}:${PANEL_DB_PORT}/${PANEL_DB_NAME}?sslmode=disable&connect_timeout=10 + - MM_BLEVESETTINGS_INDEXDIR=${MM_BLEVESETTINGS_INDEXDIR} + - MM_SERVICESETTINGS_SITEURL=${MM_SERVICESETTINGS_SITEURL} + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/mattermost/9.10.1/scripts/init.sh b/apps/mattermost/9.10.1/scripts/init.sh new file mode 100644 index 00000000..962ae2b4 --- /dev/null +++ b/apps/mattermost/9.10.1/scripts/init.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +chown -R 2000:2000 data \ No newline at end of file diff --git a/apps/mattermost/README.md b/apps/mattermost/README.md new file mode 100644 index 00000000..c70999c1 --- /dev/null +++ b/apps/mattermost/README.md @@ -0,0 +1,3 @@ +# [![Mattermost logo](https://user-images.githubusercontent.com/7205829/137170381-fe86eef0-bccc-4fdd-8e92-b258884ebdd7.png)](https://mattermost.com) + +[Mattermost](https://mattermost.com) 是一个开源平台,用于在整个软件开发生命周期中进行安全协作。 \ No newline at end of file diff --git a/apps/mattermost/data.yml b/apps/mattermost/data.yml new file mode 100644 index 00000000..b71a85d1 --- /dev/null +++ b/apps/mattermost/data.yml @@ -0,0 +1,19 @@ +name: Mattermost +tags: + - 实用工具 +title: 开源团队协作平台 +description: 开源团队协作平台 +additionalProperties: + key: mattermost + name: Mattermost + tags: + - Tool + shortDescZh: 开源团队协作平台 + shortDescEn: Open-source team collaboration platform + type: website + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://mattermost.com + github: https://github.com/mattermost/mattermost + document: https://docs.mattermost.com diff --git a/apps/mattermost/latest/.env.sample b/apps/mattermost/latest/.env.sample new file mode 100644 index 00000000..0ea3d544 --- /dev/null +++ b/apps/mattermost/latest/.env.sample @@ -0,0 +1,22 @@ +CONTAINER_NAME="mattermost" +GITLAB_PKI_CHAIN_PATH="" +MATTERMOST_BLEVE_INDEXES_PATH="./data/bleve/indexes" +MATTERMOST_CLIENT_PLUGINS_PATH="./data/client/plugins" +MATTERMOST_CONFIG_PATH="./data/config" +MATTERMOST_CONTAINER_READONLY="false" +MATTERMOST_DATA_PATH="./data/data" +MATTERMOST_LOGS_PATH="./data/logs" +MATTERMOST_PLUGINS_PATH="./data/plugins" +MM_BLEVESETTINGS_INDEXDIR="/mattermost/bleve-indexes" +MM_SERVICESETTINGS_SITEURL="http://192.168.123.9:40271" +MM_SQLSETTINGS_DRIVERNAME="postgres" +PANEL_APP_PORT_CALLS=40272 +PANEL_APP_PORT_HTTP=40271 +PANEL_DB_HOST="postgresql" +PANEL_DB_HOST_NAME="postgresql" +PANEL_DB_NAME="mattermost" +PANEL_DB_PORT=5432 +PANEL_DB_TYPE="postgresql" +PANEL_DB_USER="mattermost" +PANEL_DB_USER_PASSWORD="mattermost" +TZ="Asia/Shanghai" diff --git a/apps/mattermost/latest/data.yml b/apps/mattermost/latest/data.yml new file mode 100644 index 00000000..2566510a --- /dev/null +++ b/apps/mattermost/latest/data.yml @@ -0,0 +1,146 @@ +additionalProperties: + formFields: + - default: 40271 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: 40272 + edit: true + envKey: PANEL_APP_PORT_CALLS + labelEn: RTC Port + labelZh: RTC 服务端口 + required: true + rule: paramPort + type: number + - default: "false" + edit: true + envKey: MATTERMOST_CONTAINER_READONLY + labelEn: Read Only Container + labelZh: 只读容器 + required: false + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "./data/config" + disabled: true + envKey: MATTERMOST_CONFIG_PATH + labelEn: Config Path + labelZh: 配置路径 + required: true + type: text + - default: "./data/data" + disabled: true + envKey: MATTERMOST_DATA_PATH + labelEn: Data Path + labelZh: 数据路径 + required: true + type: text + - default: "./data/logs" + disabled: true + envKey: MATTERMOST_LOGS_PATH + labelEn: Logs Path + labelZh: 日志路径 + required: true + type: text + - default: "./data/plugins" + disabled: true + envKey: MATTERMOST_PLUGINS_PATH + labelEn: Plugins Path + labelZh: 插件路径 + required: true + type: text + - default: "./data/client/plugins" + disabled: true + envKey: MATTERMOST_CLIENT_PLUGINS_PATH + labelEn: Client Plugins Path + labelZh: 客户端插件路径 + required: true + type: text + - default: "" + edit: true + envKey: GITLAB_PKI_CHAIN_PATH + labelEn: GitLab PKI Chain Path (Edit to remove comments in compose.yml to take effect) + labelZh: GitLab PKI 链路径 (编辑去除compose.yml里的注释生效) + required: false + type: text + - default: "./data/bleve/indexes" + edit: true + envKey: MATTERMOST_BLEVE_INDEXES_PATH + labelEn: Bleve Indexes Path + labelZh: Bleve 索引路径 + required: true + type: text + - default: "Asia/Shanghai" + edit: true + envKey: TZ + labelEn: Time Zone + labelZh: 时区 + required: true + type: text + - default: "postgres" + disabled: true + envKey: MM_SQLSETTINGS_DRIVERNAME + labelEn: SQL Driver Name + labelZh: SQL 驱动名称 + required: true + type: text + - default: "/mattermost/bleve-indexes" + disabled: true + envKey: MM_BLEVESETTINGS_INDEXDIR + labelEn: Bleve Index Directory + labelZh: Bleve 索引目录 + required: true + type: text + - default: "http://localhost:40271" + edit: true + envKey: MM_SERVICESETTINGS_SITEURL + labelEn: Site URL + labelZh: 站点 URL + required: true + rule: paramExtUrl + type: text + - default: postgresql + envKey: PANEL_DB_TYPE + labelEn: Database Service + labelZh: 数据库服务 + required: true + type: apps + child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + values: + - label: PostgreSQL + value: postgresql + - default: mattermost + envKey: PANEL_DB_NAME + labelEn: Database + labelZh: 数据库名 + random: true + required: true + rule: paramCommon + type: text + - default: mattermost + envKey: PANEL_DB_USER + labelEn: User + labelZh: 数据库用户 + random: true + required: true + rule: paramCommon + type: text + - default: mattermost + envKey: PANEL_DB_USER_PASSWORD + labelEn: Password + labelZh: 数据库用户密码 + random: true + required: true + rule: paramComplexity + type: password \ No newline at end of file diff --git a/apps/mattermost/latest/data/client/plugins/.gitkeep b/apps/mattermost/latest/data/client/plugins/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/mattermost/latest/data/config/.gitkeep b/apps/mattermost/latest/data/config/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/mattermost/latest/data/logs/.gitkeep b/apps/mattermost/latest/data/logs/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/mattermost/latest/data/plugins/.gitkeep b/apps/mattermost/latest/data/plugins/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/mattermost/latest/docker-compose.yml b/apps/mattermost/latest/docker-compose.yml new file mode 100644 index 00000000..2acc1d1f --- /dev/null +++ b/apps/mattermost/latest/docker-compose.yml @@ -0,0 +1,37 @@ +services: + mattermost: + image: "mattermost/mattermost-team-edition:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8065 + - ${PANEL_APP_PORT_CALLS}:8443/udp + - ${PANEL_APP_PORT_CALLS}:8443/tcp + security_opt: + - no-new-privileges:true + read_only: ${MATTERMOST_CONTAINER_READONLY} + tmpfs: + - /tmp + 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 + - ${MATTERMOST_BLEVE_INDEXES_PATH}:/mattermost/bleve-indexes:rw + # 删除以下行前的#号表示启用 + #- ${GITLAB_PKI_CHAIN_PATH}:/etc/ssl/certs/pki_chain.pem:ro + environment: + - TZ=${TZ} + - MM_SQLSETTINGS_DRIVERNAME=${MM_SQLSETTINGS_DRIVERNAME} + - MM_SQLSETTINGS_DATASOURCE=${MM_SQLSETTINGS_DRIVERNAME}://${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@${PANEL_DB_HOST}:${PANEL_DB_PORT}/${PANEL_DB_NAME}?sslmode=disable&connect_timeout=10 + - MM_BLEVESETTINGS_INDEXDIR=${MM_BLEVESETTINGS_INDEXDIR} + - MM_SERVICESETTINGS_SITEURL=${MM_SERVICESETTINGS_SITEURL} + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/mattermost/latest/scripts/init.sh b/apps/mattermost/latest/scripts/init.sh new file mode 100644 index 00000000..962ae2b4 --- /dev/null +++ b/apps/mattermost/latest/scripts/init.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +chown -R 2000:2000 data \ No newline at end of file diff --git a/apps/mattermost/logo.png b/apps/mattermost/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0f148ae21f4892d39e07b65bcac3bdfbf4cab6de GIT binary patch literal 4407 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 literal 0 HcmV?d00001