前言
不知不觉【实用的开源项目】系列已经来到第四期了啊。今天为大家介绍一下 Mattermost
,教大家使用云服务器部署 Mattermost
,简洁、强大的私人书籍管理系统!
这篇文章是详细的文字版,若希望查看教程视频,请向下滑动,查看视频,或者直接到 BiliBili
搜索 我是小俊呀
,查找视频哦!
视频教程
待补充
准备工作
- 【必需】一台服务器(推荐腾讯云轻量应用服务器
HK
或国内,其他服务器、家里云或者各家企业的私有云亦可,我们在腾讯云轻量应用服务器重装系统的时候,选择应用镜像
,然后选择Docker CE 19.03.9
,然后我们就可以使用Docker
部署搭建了我们需要的程序啦!本文就从安装完Docker
后开始教程啦!当然啦,不使用腾讯云轻量应用服务器的朋友们,可以自己手动安装Docker
,然后进入我们的部署哦!本文就从安装完Docker
后开始教程啦! - 【建议且必需】域名一枚,并解析到服务器上
- 【必需反向代理本教程选用NPM】安装好Nginx Proxy Manager( 相关教程 )
注意
本文软件基于腾讯云轻量应用服务器安装,无建议配置,教程使用的腾讯云轻量应用服务器系统为 CentOS 7.6 64位
!理论上腾讯云轻量应用服务器为 Docker CE 19.03.9
的服务器操作应与本文基本一致(包括过程与报错),其他系统为 CentOS 7
的服务器应与本文大同小异!
腾讯云轻量应用服务器快到两周年了,活动力度很大喔!大家可以关注一下!
腾讯云轻量应用服务器购买地址: https://curl.qcloud.com/XqKjWCYA
腾讯云精选爆品 特惠抢购: https://curl.qcloud.com/UEBvnJfH
腾讯云云产品特惠专区: https://curl.qcloud.com/TPJfrddE
界面演示
Mattermost 简介
Mattermost is an open source platform for secure collaboration across the entire software development lifecycle. This repo is the primary source for core development on the Mattermost platform; it’s written in Go and React and runs as a single Linux binary with MySQL or PostgreSQL. A new compiled version is released under an MIT license every month on the 16th.
Mattermost是一个开源平台,用于在整个软件开发生命周期中实现安全协作。此存储库是 Mattermost 平台上核心开发的主要来源;它是用围棋和反应编写的,并作为一个带有MySQL或后格雷SQL的 Linux二进制文件运行。每月16日在MIT许可证下发布新的编译版本。
我觉得, Mattermost
不仅可以作为一款强大的开发人员协作平台,还可以作为一款优秀的聊天室程序!
官方网站
官方网站: https://mattermost.com/
官方Github: https://github.com/mattermost
部署 Mattermost
1. 环境准备
1. 安装 Docker(使用腾讯云轻量应用服务器可跳过这一部分)
安装 Docker
的详细教程小俊之前也写过哦,也配有详细的视频版本,需要学习的朋友可以点击链接:【教程】CentOS系统Docker的详细安装教程https://www.smalljun.com/archives/3174.html
2. 安装 Nginx Proxy Manager(必需反向代理本教程选用NPM)
安装 Nginx Proxy Manager
的详细教程小俊之前也写过哦,也配有详细的视频版本,需要学习的朋友可以点击链接:【教程】使用腾讯云轻量应用服务器搭建Nginx Proxy Manager,优美简单地解决反向代理!https://www.smalljun.com/archives/3113.html ,当然想要使用反向代理的小伙伴要是熟悉 Nginx
,也可以自己安装 Nginx
进行反向代理哦!
3. 安装 Docker-compose
安装 Docker-compose
的详细教程可以参考小俊之前写过的【教程】CentOS系统Docker的详细安装教程https://www.smalljun.com/archives/3174.html#toc_23
2. 部署 Mattermost
1. 新建目录
执行以下命令,新建各个目录,并给予权限
mkdir -p /opt/docker/mattermost && cd /opt/docker/mattermost
mkdir -p /opt/docker/docker_data/postgresql/data && mkdir -p /opt/docker/docker_data/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
chmod -R 777 /opt/docker/docker_data/mattermost/config
2. 新建docker-compose.yaml文件
执行以下命令,新建 docker-compose.yaml
文件
vi docker-compose.yaml
然后输入以下配置内容
---
version: "3"
services:
mattermost:
depends_on:
- postgres
env_file:
- .env
image: "mattermost/mattermost-team-edition:7.3"
pids_limit: 200
ports:
- "8065:8065"
read_only: false
restart: unless-stopped
security_opt:
- "no-new-privileges:true"
tmpfs:
- /tmp
volumes:
- "/opt/docker/docker_data/mattermost/config:/mattermost/config:rw"
- "/opt/docker/docker_data/mattermost/data:/mattermost/data:rw"
- "/opt/docker/docker_data/mattermost/logs:/mattermost/logs:rw"
- "/opt/docker/docker_data/mattermost/plugins:/mattermost/plugins:rw"
- "/opt/docker/docker_data/mattermost/client/plugins:/mattermost/client/plugins:rw"
- "/opt/docker/docker_data/mattermost/bleve-indexes:/mattermost/bleve-indexes:rw"
postgres:
env_file:
- .env
image: "postgres:14.5"
pids_limit: 100
read_only: true
restart: unless-stopped
security_opt:
- "no-new-privileges:true"
tmpfs:
- /tmp
volumes:
- "/opt/docker/docker_data/postgresql/data:/var/lib/postgresql/data"
- "lock:/var/run/postgresql"
volumes:
lock: ~
如下图所示
注意:docker-compose.yaml
文件中 8065
为暴露端口,如被占用,请自行更改替换,需要在云服务器的控制台防火墙开放相应端口!
3. 新建.env文件
执行以下命令,新建 .env
文件
vi .env
然后输入以下配置内容
POSTGRES_DB=mattermost
#一般不用修改,可自定义
POSTGRES_USER=smalljun
#设置一个自定义的数据库用户名以替换smalljun
POSTGRES_PASSWORD=xjpassword
#设置一个自定义的数据库密码以替换xjpassword
MM_SQLSETTINGS_DRIVERNAME=postgres
MM_SQLSETTINGS_DATASOURCE=postgres://smalljun:xjpassword@postgres:5432/mattermost?sslmode=disable&connect_timeout=10
#设置一个自定义的数据库用户名以替换smalljun,设置一个自定义的数据库密码以替换xjpassword
MM_BLEVESETTINGS_INDEXDIR=/mattermost/bleve-indexes
MM_SERVICESETTINGS_SITEURL=https://chat.ymzsl.com
#设置你用于该业务的域名以替换https://chat.ymzsl.com
如下图所示
3. 启动容器
输入执行以下命令后台启动容器
docker-compose up -d
如下图所示
输入执行以下命令确认所有容器都是 running
或 up
状态
docker-compose ps
如下图所示
3. 配置反向代理
进入 Nginx Proxy Manager
,点击 Hosts
,然后点击 Add Proxy Host
,按下图进行配置,下图中的 172.17.0.1
可能有所不一,请执行 ip addr
自行查找 docker0
网卡的内网IP!
Domain Names:填写你想用在该程序的域名
Scheme:默认http #一般不用改
Forward Hostname / IP:172.17.0.1 #一般为 `172.17.0.1` ,可能有所不一,请执行 `ip addr` 自行查找 `docker0` 网卡的内网IP!
Forward Port:8065 #暴露端口(若跟着本文未修改 `yaml` 文件中的暴露端口。应为 `8065` )
如下图所示
至此,我们已经安装完成 Mattermost
开发人员协作平台系统啦!
浏览器访问您刚刚设置的域名即可访问!
Ps:需要在腾讯云轻量应用服务器的后台防火墙开放相应端口!默认需要开放 80 tcp
与 81 tcp
哦。
2. 简单配置 Mattermost
打开浏览器,输入你的域名即可进入 Mattermost
。
然后,创建首个用户(成为管理员)。
然后,可以选择创建团队或者进入系统控制台。
进入系统控制台之后,在 SITE CONFIGURATION
找到 Localization
,即可修改默认语言,可以修改为中文!
进入系统控制台之后,在 AUTHENTICATION
找到 Signup
,然后把 Enable Open Server
改为 true
即可开放注册!
至此,你已经可以开开心心地使用 Mattermost
开发人员协作平台啦!赶紧拉上自己的朋友一起玩吧!