Installing Mattermost in Proxmox

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

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