feat: add OpenViking DeerFlow Mattermost OpenFang and Paperclip services
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Image versions
|
||||
MATTERMOST_VERSION=11.3
|
||||
POSTGRES_VERSION=17-alpine
|
||||
|
||||
# Network configuration
|
||||
MATTERMOST_PORT_OVERRIDE=8065
|
||||
MATTERMOST_SITE_URL=http://localhost:8065
|
||||
|
||||
# PostgreSQL configuration
|
||||
POSTGRES_DB=mattermost
|
||||
POSTGRES_USER=mmuser
|
||||
POSTGRES_PASSWORD=mmchangeit
|
||||
|
||||
# Mattermost runtime configuration
|
||||
MATTERMOST_ENABLE_LOCAL_MODE=false
|
||||
|
||||
# Resources - Mattermost
|
||||
MATTERMOST_CPU_LIMIT=2.00
|
||||
MATTERMOST_MEMORY_LIMIT=2G
|
||||
MATTERMOST_CPU_RESERVATION=0.50
|
||||
MATTERMOST_MEMORY_RESERVATION=512M
|
||||
|
||||
# Resources - PostgreSQL
|
||||
MATTERMOST_DB_CPU_LIMIT=1.00
|
||||
MATTERMOST_DB_MEMORY_LIMIT=1G
|
||||
MATTERMOST_DB_CPU_RESERVATION=0.25
|
||||
MATTERMOST_DB_MEMORY_RESERVATION=256M
|
||||
|
||||
# Logging
|
||||
MATTERMOST_LOG_MAX_SIZE=100m
|
||||
MATTERMOST_LOG_MAX_FILE=3
|
||||
|
||||
# Timezone
|
||||
TZ=UTC
|
||||
@@ -0,0 +1,68 @@
|
||||
# Mattermost
|
||||
|
||||
[中文文档](README.zh.md)
|
||||
|
||||
Mattermost is an open-source team collaboration platform that provides chat, file sharing, channels, and integrations. This Compose stack includes Mattermost plus PostgreSQL and is designed to start with a single `docker compose up -d`.
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. Copy the example environment file:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
2. Edit `.env` if you want to change the port, site URL, or database password.
|
||||
|
||||
3. Start the stack:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
4. Open Mattermost:
|
||||
|
||||
- <http://localhost:8065>
|
||||
|
||||
5. Complete the first-run wizard to create the initial system admin account.
|
||||
|
||||
## Default Ports
|
||||
|
||||
| Service | Port | Description |
|
||||
| ---------- | ---- | ---------------------- |
|
||||
| Mattermost | 8065 | Web UI and API |
|
||||
| PostgreSQL | 5432 | Internal database only |
|
||||
|
||||
## Important Environment Variables
|
||||
|
||||
| Variable | Description | Default |
|
||||
| ------------------------------ | ---------------------------------------------- | ----------------------- |
|
||||
| `MATTERMOST_VERSION` | Mattermost Team Edition image tag | `11.3` |
|
||||
| `MATTERMOST_PORT_OVERRIDE` | Host port for Mattermost | `8065` |
|
||||
| `MATTERMOST_SITE_URL` | Public URL used by Mattermost | `http://localhost:8065` |
|
||||
| `POSTGRES_DB` | PostgreSQL database name | `mattermost` |
|
||||
| `POSTGRES_USER` | PostgreSQL user | `mmuser` |
|
||||
| `POSTGRES_PASSWORD` | PostgreSQL password | `mmchangeit` |
|
||||
| `MATTERMOST_ENABLE_LOCAL_MODE` | Enables local mode for administrative commands | `false` |
|
||||
| `TZ` | Container timezone | `UTC` |
|
||||
|
||||
## Volumes
|
||||
|
||||
- `mattermost_postgres_data`: PostgreSQL data.
|
||||
- `mattermost_config`: Mattermost config directory.
|
||||
- `mattermost_data`: Uploaded files and application data.
|
||||
- `mattermost_logs`: Application logs.
|
||||
- `mattermost_plugins`: Server-side plugins.
|
||||
- `mattermost_client_plugins`: Webapp plugins.
|
||||
- `mattermost_bleve_indexes`: Search indexes.
|
||||
|
||||
## Notes
|
||||
|
||||
- The application depends on PostgreSQL and waits until the database is healthy before booting.
|
||||
- The default setup uses Team Edition.
|
||||
- If you expose Mattermost behind a reverse proxy or different hostname, update `MATTERMOST_SITE_URL`.
|
||||
|
||||
## References
|
||||
|
||||
- [Mattermost Repository](https://github.com/mattermost/mattermost)
|
||||
- [Mattermost Team Edition Image](https://hub.docker.com/r/mattermost/mattermost-team-edition)
|
||||
@@ -0,0 +1,68 @@
|
||||
# Mattermost
|
||||
|
||||
[English](README.md)
|
||||
|
||||
Mattermost 是一个开源团队协作平台,提供聊天、频道、文件共享和集成能力。这个 Compose 配置包含 Mattermost 和 PostgreSQL,目标是用一条 `docker compose up -d` 完成启动。
|
||||
|
||||
## 快速开始
|
||||
|
||||
1. 复制环境变量示例文件:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
2. 按需修改 `.env`,例如端口、站点 URL 或数据库密码。
|
||||
|
||||
3. 启动整个栈:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
4. 打开 Mattermost:
|
||||
|
||||
- <http://localhost:8065>
|
||||
|
||||
5. 按照首次启动向导创建初始系统管理员账号。
|
||||
|
||||
## 默认端口
|
||||
|
||||
| 服务 | 端口 | 说明 |
|
||||
| ---------- | ---- | -------------------- |
|
||||
| Mattermost | 8065 | Web 界面与 API |
|
||||
| PostgreSQL | 5432 | 仅供内部使用的数据库 |
|
||||
|
||||
## 关键环境变量
|
||||
|
||||
| 变量 | 说明 | 默认值 |
|
||||
| ------------------------------ | -------------------------------- | ----------------------- |
|
||||
| `MATTERMOST_VERSION` | Mattermost Team Edition 镜像标签 | `11.3` |
|
||||
| `MATTERMOST_PORT_OVERRIDE` | Mattermost 对外端口 | `8065` |
|
||||
| `MATTERMOST_SITE_URL` | Mattermost 对外访问 URL | `http://localhost:8065` |
|
||||
| `POSTGRES_DB` | PostgreSQL 数据库名 | `mattermost` |
|
||||
| `POSTGRES_USER` | PostgreSQL 用户名 | `mmuser` |
|
||||
| `POSTGRES_PASSWORD` | PostgreSQL 密码 | `mmchangeit` |
|
||||
| `MATTERMOST_ENABLE_LOCAL_MODE` | 是否启用本地管理模式 | `false` |
|
||||
| `TZ` | 容器时区 | `UTC` |
|
||||
|
||||
## 数据卷
|
||||
|
||||
- `mattermost_postgres_data`:PostgreSQL 数据。
|
||||
- `mattermost_config`:Mattermost 配置目录。
|
||||
- `mattermost_data`:上传文件和业务数据。
|
||||
- `mattermost_logs`:应用日志。
|
||||
- `mattermost_plugins`:服务端插件。
|
||||
- `mattermost_client_plugins`:前端插件。
|
||||
- `mattermost_bleve_indexes`:搜索索引。
|
||||
|
||||
## 说明
|
||||
|
||||
- Mattermost 依赖 PostgreSQL,只有数据库健康后才会继续启动。
|
||||
- 这里默认使用 Team Edition。
|
||||
- 如果你通过反向代理或自定义域名访问 Mattermost,请同步修改 `MATTERMOST_SITE_URL`。
|
||||
|
||||
## 参考资料
|
||||
|
||||
- [Mattermost 仓库](https://github.com/mattermost/mattermost)
|
||||
- [Mattermost Team Edition 镜像](https://hub.docker.com/r/mattermost/mattermost-team-edition)
|
||||
@@ -0,0 +1,84 @@
|
||||
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:
|
||||
Reference in New Issue
Block a user