Mattermost Runbook

Status: DEPRECATED 2026-05-18 — mm.basicconsulting.no decommissioned per CEO answer #5. Replace with comment # DEPRECATED 2026-05-18 or delete if easy.

Runbook: Mattermost

Service Type: Team Communication Platform Container: mattermost (mattermost/mattermost-team-edition:latest) Ports: 8065 (internal + external) External URL: https://mm.basicconsulting.no Database: PostgreSQL 15 (mattermost-db) Compose File: ~/system/services/mattermost/docker-compose.yml


Service Info

Mattermost is the primary team communication platform for BasicAS Group. Runs via Docker Compose with PostgreSQL backend.

Stack:

External Access:

Admin Access:


Status Check

Container Health

docker ps | grep mattermost

Expected output:

mattermost      Up X hours (healthy)
mattermost-db   Up X hours

HTTP Check

curl -I http://localhost:8065

Expected: 200 OK

External Access Check

curl -I https://mm.basicconsulting.no

Expected: 200 OK

Database Check

docker exec mattermost-db psql -U mmuser -d mattermost -c "SELECT count(*) FROM users;"

Restart Procedure

Quick Restart (Container Only)

docker restart mattermost

Full Stack Restart (Container + Database)

cd ~/system/services/mattermost
docker compose down
docker compose up -d

Wait 30-60 seconds for healthcheck to pass, then verify:

docker ps | grep mattermost
curl -I http://localhost:8065

Troubleshooting

Problem: Container won't start

Check logs:

docker logs mattermost --tail 100

Common causes:

  1. Database not ready - wait 30s and retry
  2. Port 8065 already bound - check lsof -i :8065
  3. Volume permission issues - check ~/system/services/mattermost/data/

Fix:

cd ~/system/services/mattermost
docker compose down
docker compose up -d mattermost-db
sleep 30
docker compose up -d mattermost

Problem: Login issues (can't sign in)

Check SMTP:

docker exec mattermost cat /mattermost/config/config.json | grep -A5 EmailSettings

Reset admin password:

docker exec -it mattermost mattermost user reset_password <user-email>

Problem: WebSocket errors (messages not real-time)

Check site URL:

docker exec mattermost env | grep MM_SERVICESETTINGS_SITEURL

Expected: MM_SERVICESETTINGS_SITEURL=https://mm.basicconsulting.no

If wrong, update in docker-compose.yml and restart.

Problem: Database connection issues

Check database health:

docker exec mattermost-db pg_isready -U mmuser

Check connection string:

docker exec mattermost env | grep MM_SQLSETTINGS_DATASOURCE

Expected: postgres://mmuser:BasicMM2026!@mattermost-db:5432/mattermost?sslmode=disable&connect_timeout=10


Dependencies

No dependencies on other local services.


Backup

Database Dump

docker exec mattermost-db pg_dump -U mmuser mattermost | gzip > ~/backups/mattermost-$(date +%Y%m%d-%H%M%S).sql.gz

Data Volumes

cd ~/system/services/mattermost
tar -czf ~/backups/mattermost-data-$(date +%Y%m%d-%H%M%S).tar.gz data/ config/ logs/ plugins/

Restore from Backup

# Stop service
cd ~/system/services/mattermost
docker compose down

# Restore database
gunzip -c ~/backups/mattermost-YYYYMMDD-HHMMSS.sql.gz | docker exec -i mattermost-db psql -U mmuser -d mattermost

# Restore data (if needed)
cd ~/system/services/mattermost
tar -xzf ~/backups/mattermost-data-YYYYMMDD-HHMMSS.tar.gz

# Start service
docker compose up -d

Configuration

Key Environment Variables

Full config: ~/system/services/mattermost/docker-compose.yml

Admin UI Config

Access: System Console (requires System Admin role)


Notes


Last updated: 2026-02-10 Maintained by: John (AI Director)


Revision #6
Created 2026-02-20 09:38:30 UTC by John
Updated 2026-06-21 20:01:47 UTC by John