#kube-mattermost
##Quickstart
This assumes you set up a remote or local Kubernetes cluster.
- Install Spread.
- Clone Mattermost, the open source Slack
$ git clone http://github.com/redspread/kube-mattermost - Deploy Mattermost to your cluster:
$ spread deploy . - Grab the IP (remote) or port (local) to see your self-hosted app!
Run spread deploy to update the cluster after making changes.
- Enable email in
config.template.json. - Build image (
docker build -t "youruser/yourrepo:sometag" .) - Push image (
docker push youruser/yourrepo:sometag) - Replace the Image field in
mattermost.ctrwith your image name (youruser/yourrepo:sometag)
Unless a persistent volume is used, the data stored in postgres will be lost if for any reason the postgres container stops running.
- Create persistent disks
Google:
gcloud compute disks create --size=30GB mattermost-postgres
gcloud compute disks create --size=30GB mattermost-assets - Un-comment the appropriate volume sections in
app/rc.ymlanddb/rc.yml
- Set Postgres username and password in
.k2e/secret.yaml.
Note: Secret data values are base64 encoded.
Notes: The volume sizes are suggested, but you can change them to whatever you'd like. ##Troubleshooting
Make sure kubectl is set to the correct project, cluster, and zone. For those using GKE, here's a cheat sheet to common gcloud errors (auth login, project, zone, and cluster).
Here's the original Dockerfile and docker-compose setup by @npcode.