forked from mirrors/mattermost-docker
Updated the readme
- Adjusted the `/usr/local/bin` to just be `docker-compose` assuming they've properly installed it on their system to read cleaner - moved the `sudo systemctl enable --now docker` to a step 4 so it doesn't cause issues with certbot - Added more clarity on what a user should edit in the `.env` file. - Added update instructions - Added instructions for different versions of Mattermost.
This commit is contained in:
parent
23e6eaf212
commit
97a4f201dc
112
README.md
112
README.md
@ -14,57 +14,103 @@ These steps are required for new Mattermost setups and don't include everything
|
|||||||
|
|
||||||
### 1. Cloning the repository (as an alternative please download it as archive)
|
### 1. Cloning the repository (as an alternative please download it as archive)
|
||||||
```
|
```
|
||||||
$ git clone https://github.com/mattermost/docker
|
git clone https://github.com/mattermost/docker
|
||||||
$ cd docker
|
cd docker
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. Create a *.env* file by copying and adjusting the env.example file
|
### 2. Create a *.env* file by copying and adjusting the env.example file
|
||||||
Docker will search for an *.env* file when no option specifies another environment file. Afterwards edit it with your preferred text editor.
|
Docker will search for an *.env* file when no option specifies another environment file. Afterwards edit it with your preferred text editor.
|
||||||
```
|
```
|
||||||
$ cp env.example .env
|
cp env.example .env
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Within the .env file make sure you edit at a minimum the below values. You can find a list of the Mattermost version tags here: [enterprise-edition](https://hub.docker.com/r/mattermost/mattermost-enterprise-edition/tags?page=1&ordering=last_updated) / [team-edition](https://hub.docker.com/r/mattermost/mattermost-team-edition/tags?page=1&ordering=last_updated). If you want to change the postgres user and pass, you will do so in this `.env` file as well.
|
||||||
|
|
||||||
|
```
|
||||||
|
## This domain must be a live domain that points to the server where Mattermost is installed.
|
||||||
|
DOMAIN=mm.example.com
|
||||||
|
|
||||||
|
## This will be 'mattermost-enterprise-edition' or 'mattermost-team-edition' based on the version of Mattermost you're installing.
|
||||||
|
MATTERMOST_IMAGE=mattermost-enterprise-edition
|
||||||
|
MATTERMOST_IMAGE_TAG=5.34
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### 3. Create the needed directores and set permissions (this orientates on the previous *mattermost-docker* structure and the direcories can be changed in the *.env* file)
|
### 3. Create the needed directores and set permissions (this orientates on the previous *mattermost-docker* structure and the direcories can be changed in the *.env* file)
|
||||||
|
|
||||||
```
|
```
|
||||||
$ mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client-plugins}
|
mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client-plugins}
|
||||||
$ sudo chown -R 2000:2000 ./volumes/app/mattermost
|
sudo chown -R 2000:2000 ./volumes/app/mattermost
|
||||||
|
|
||||||
## (optinally) when using the provided nginx and if a certificate and key already exists
|
|
||||||
$ mkdir -p ./volumes/web/cert
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4. Placing the certificate and key (if using provided nginx)
|
### 4. Enable Docker
|
||||||
Use either 4.1 or 4.2 for setting up SSL.
|
|
||||||
|
|
||||||
#### 4.1 Pre-existing certificate and key
|
|
||||||
```
|
|
||||||
$ cp PATH-TO-CERT.PEM ./volumes/web/cert/cert.pem
|
|
||||||
$ cp PATH-TO-KEY.PEM ./volumes/web/cert/key-no-password.pem
|
|
||||||
|
|
||||||
```
|
|
||||||
#### 4.2 Let's Encrypt
|
|
||||||
**TODO: add link to Let's Encrypt certificate guide**
|
|
||||||
|
|
||||||
For using Let's Encrypt you can follow this guide LINK or use the this Bash script scripts/issue-certificate.sh. Both
|
|
||||||
methods requires you to change the path to the Let's Encrypt config folders inside the *.env*.
|
|
||||||
```
|
|
||||||
$ sudo docker volume create shared-webroot
|
|
||||||
$ bash scripts/issue-certificate.sh -d mm.example.com -o ${PWD}/certs
|
|
||||||
```
|
|
||||||
|
|
||||||
### 5. Run `docker-compose`
|
|
||||||
First ensure the docker daemon is enabled and running:
|
First ensure the docker daemon is enabled and running:
|
||||||
```
|
```
|
||||||
$ sudo systemctl enable --now docker
|
sudo systemctl enable --now docker
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 5.1 Default (with nginx)
|
### 5. Placing the certificate and key (if using provided nginx)
|
||||||
|
Use either 4.1 or 4.2 for setting up SSL. Both methods require you to change the path to the Let's Encrypt config folders inside the *.env*.
|
||||||
|
|
||||||
|
|
||||||
|
#### 5.1 Pre-existing certificate and key
|
||||||
|
|
||||||
```
|
```
|
||||||
$ sudo /usr/local/bin/docker-compose -f docker-compose.yml -f docker-compose.nginx.yml up -d
|
## When using the provided nginx and if a certificate and key already exists make the below directory
|
||||||
|
mkdir -p ./volumes/web/cert
|
||||||
|
|
||||||
|
## Then copy your existing certs into this directory.
|
||||||
|
cp PATH-TO-CERT.PEM ./volumes/web/cert/cert.pem
|
||||||
|
cp PATH-TO-KEY.PEM ./volumes/web/cert/key-no-password.pem
|
||||||
|
|
||||||
|
```
|
||||||
|
#### 5.2 Let's Encrypt
|
||||||
|
**TODO: add link to Let's Encrypt certificate guide**
|
||||||
|
|
||||||
|
For using Let's Encrypt you can follow this guide LINK or use the this Bash script scripts/issue-certificate.sh. Make sure to adjust `mm.example.com` to match your domain configured in step 2.
|
||||||
|
```
|
||||||
|
sudo docker volume create shared-webroot
|
||||||
|
bash scripts/issue-certificate.sh -d mm.example.com -o ${PWD}/certs
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 5.2. Without nginx (for use behind an existing reverse proxy)
|
#### 5.3 Adjusting the `.env` file.
|
||||||
|
Once you've completed 5.1 or 5.2 you'll need to adjust the `.env` file accordingly. With 5.1 verify the first two lines below are uncommented in the `.env` file, with 5.2 comment out the first two lines and uncomment the last two lines.
|
||||||
|
|
||||||
```
|
```
|
||||||
$ sudo /usr/local/bin/docker-compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d
|
CERT_PATH=./volumes/web/cert/cert.pem
|
||||||
|
KEY_PATH=./volumes/web/cert/key-no-password.pem
|
||||||
|
#CERT_PATH=./certs/etc/letsencrypt/live/${DOMAIN}/fullchain.pem
|
||||||
|
#KEY_PATH=./certs/etc/letsencrypt/live/${DOMAIN}/privkey.pem
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 6. Run `docker-compose`
|
||||||
|
Choose if you're running this docker image with NGINX or using your own proxy.
|
||||||
|
|
||||||
|
#### 6.1 Default (with nginx)
|
||||||
|
```
|
||||||
|
sudo docker-compose -f docker-compose.yml -f docker-compose.nginx.yml up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 6.2. Without nginx (for use behind an existing reverse proxy)
|
||||||
|
```
|
||||||
|
sudo docker-compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
# Update Mattermost to the latest version
|
||||||
|
|
||||||
|
To update Mattermost to the latest version in this repo run the below commands. This will download a new image of the instance and update Mattermost.
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo docker-compose down
|
||||||
|
git pull
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
# Installing different versions of Mattermost
|
||||||
|
If you want to have a different version of Mattermost installed you will need to follow the below steps:
|
||||||
|
|
||||||
|
1. Open the `.env` file in your docker folder
|
||||||
|
2. Edit the line `MATTERMOST_IMAGE_TAG=5.34` to be equal to the version you want. Ex: (`MATTERMOST_IMAGE_TAG=5.35`).
|
||||||
|
- You can find a list of the Mattermost version tags here: [enterprise-edition](https://hub.docker.com/r/mattermost/mattermost-enterprise-edition/tags?page=1&ordering=last_updated) / [team-edition](https://hub.docker.com/r/mattermost/mattermost-team-edition/tags?page=1&ordering=last_updated).
|
||||||
|
3. `sudo docker-compose down`
|
||||||
|
4. `sudo docker-compose up -d`
|
||||||
|
Loading…
Reference in New Issue
Block a user