selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

mattermost-push-proxy logo

Self-host mattermost-push-proxy

v6.6.0

Push notification proxy for Mattermost mobile apps

ReleaseOpen SourceApache-2.0
Updated13 hours ago
LanguageGo
Setup difficultyModerate
Stars
282
RAM
1GB
Port
8066 (HTTP API for push notification submission)
Docker
mattermost/mattermost-push-proxy
Install with Linux

What is mattermost-push-proxy?

Mattermost Push Proxy is a standalone Go service that forwards push notifications from a Mattermost server to Apple Push Notification service (APNs) for iOS and Firebase Cloud Messaging (FCM) for Android. It supports both standard and VoIP push notifications for iOS calls, uses APNs Auth Keys (.p8) for authentication, and is configured via a JSON file. The proxy is designed to run on a Linux or FreeBSD server with at least 1GB RAM, and can be deployed via binary tarballs, Docker images, or systemd. It has no user-facing UI or authentication — it acts as a relay between Mattermost and the push providers.

Should you self-host mattermost-push-proxy?

mattermost-push-proxy scores 51/100 on selfhost.directory (how scoring works) and ranks #11 of 19 in Notifications. It has 282 GitHub stars.

It shipped 2 stable releases in the past year. The latest, v6.6.0, came out on 18 September 2026. New versions land roughly every 4 months.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is ntfy (85/100, 35 134 stars). It scores higher overall, so compare the two before you pick. See mattermost-push-proxy vs ntfy side by side.

Features

  • APNs Auth Key authentication
  • FIPS-compliant build
  • Firebase Cloud Messaging Support
  • JSON Configuration
  • Push notification relay
  • Request throttling
  • Structured Logging
  • VoIP push notifications (iOS)

mattermost-push-proxy README

How to install mattermost-push-proxy

Install mattermost-push-proxy with Linux

Replace vX.X.X with desired version. Also available for FreeBSD.

How to configure mattermost-push-proxy

  • AndroidPushSettingsArray of FCM configuration entries (android, android_rn)

    Array of FCM configuration entries (android, android_rn)

  • ApplePushSettingsArray of APNs configuration entries (apple, apple_rn, apple_rnbeta)

    Array of APNs configuration entries (apple, apple_rn, apple_rnbeta)

  • EnableConsoleLogtrueEnable logging to console

    Enable logging to console

  • EnableFileLogfalseEnable logging to file

    Enable logging to file

  • EnableMetricsfalseEnable metrics collection

    Enable metrics collection

  • ListenAddress:8066Address and port the proxy listens on

    Address and port the proxy listens on

  • LogFileLocationPath to log file when file logging enabled

    Path to log file when file logging enabled

  • LogFormatplainLog format (plain or json)

    Log format (plain or json)

    values: plain, json

  • LogLevelinfoLog level

    Log level

    values: debug, info, warn, error

  • RetryTimeoutSec8Timeout for retrying failed pushes in seconds

    Timeout for retrying failed pushes in seconds

  • SendTimeoutSec30Timeout for sending push notifications in seconds

    Timeout for sending push notifications in seconds

  • ThrottleMemoryStoreSize50000Size of in-memory store for throttling

    Size of in-memory store for throttling

  • ThrottlePerSec300Maximum requests per second for throttling

    Maximum requests per second for throttling

  • ThrottleVaryByHeaderX-Forwarded-ForHeader to vary throttling by

    Header to vary throttling by

mattermost-push-proxy releases & version history

More in Notifications

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…