Installing Mattermost in Proxmox

Last modified by Mélodie on 2026/03/02 04:06

# Installing Mattermost on Proxmox and other servers

Installing Mattermost – Memo sheet

 1. General principle

- Installation suited for an administrator comfortable with Linux (command line, services, reverse proxy).
- Runs on a Linux server (VM, LXC, bare-metal, or via Docker containers).

 2. Recommended server type

- OS: 64-bit Linux (Ubuntu/Debian recommended).
- Possible platforms:
    - VPS or dedicated server at a hosting provider.
    - Self-hosted server (with port forwarding + DNS).
    - Virtualized environment such as Proxmox (VM or LXC).

 3. Required software components

- System: Linux server distribution (Ubuntu 18.04+ or equivalent).
- Database: PostgreSQL (recommended) or MySQL/MariaDB.
- Web server / reverse proxy: Nginx or Apache.
- TLS certificates: Let's Encrypt via Certbot or equivalent (for HTTPS).
- System service: systemd unit or equivalent to start Mattermost at boot.

 4. Main steps for a "classic" installation (VM or LXC)

  1. Update the system and install required packages (PostgreSQL/MySQL, Nginx/Apache, utilities).
    2. Create the database and dedicated SQL user for Mattermost.
    3. Download and extract the Mattermost archive to a directory (e.g. `/opt/mattermost`).
    4. Configure `config.json` (site URL, DB connection, ports, basic options).
    5. Create a dedicated system user and a systemd unit for the Mattermost service.
    6. Configure Nginx/Apache as a reverse proxy to Mattermost, enable HTTPS (Let's Encrypt).

 5. Using Proxmox

- Options:
    - Linux VM (Ubuntu/Debian) with classic installation.
    - Linux LXC container with classic installation.
    - VM or LXC "Docker host" on which Mattermost is deployed via Docker.
- Scripts or LXC templates are available to deploy Mattermost directly in Proxmox (automated pre-configuration).

 6. Deployment with Docker

- Available images:
    - Mattermost server (dedicated image, often used with docker-compose).
    - PostgreSQL (official `postgres` image).
    - Nginx reverse proxy (official `nginx` image) or equivalents (Traefik, Nginx Proxy Manager).
- Typical `docker-compose` setup:
    - `mattermost-app` service (application).
    - `db` service (PostgreSQL).
    - `reverse-proxy` service (Nginx/Traefik) exposed on 80/443.

 7. Complexity level

- Reasonable for an administrator comfortable with:
    - Service management (systemd).
    - Database configuration.
    - Reverse proxy and TLS certificates.
- Simpler with:
    - A step-by-step tutorial adapted to the distribution.
    - Pre-configured scripts or containers (Proxmox helper scripts, Docker stacks).


 References

- [How to install Mattermost on Ubuntu](https://alexhost.com/fr/faq/how-to-install-mattermost-on-ubuntu/)
- [A decentralized communication server with Mattermost](https://www.magentix.fr/blog/un-serveur-de-communication-decentralise-avec-mattermost.html)
- [How to install Mattermost on a Gandi Cloud Server](https://docs.gandi.net/fr/cloud/tutoriels/mattermost.html)
- [Install Mattermost with Docker](https://technonagib.fr/installer-mattermost-docker/)
- [Preparations – Mattermost Deployment Guide](https://docs.mattermost.com/deployment-guide/server/preparations.html)
- [Install Mattermost](https://mattermost.com/install/)
- [Mattermost Deployment Guide](https://docs.mattermost.com/guides/deployment.html)
- [Install Mattermost on AlwaysData](https://help.alwaysdata.com/fr/guides/mattermost/)
- [Install Mattermost with Docker – video](https://www.youtube.com/watch?v=JbfQvWVV_NE)
- [Install Mattermost in Proxmox VE – Proxmox Helper Scripts](https://community-scripts.github.io/ProxmoxVE/scripts?id=mattermost)