> ## Documentation Index
> Fetch the complete documentation index at: https://docs.levelrail.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Self-host Matrix Synapse (Postgres) with Docker

> A Matrix homeserver backed by Postgres, for self-hosted federated chat and voice/video signaling.

A Matrix homeserver backed by Postgres, for self-hosted federated chat and voice/video signaling.

This page describes the Levelrail template for Matrix Synapse (Postgres) (Communication). It deploys the services below as one Docker Compose app on your own server. Project site: [https://element-hq.github.io/synapse/latest/](https://element-hq.github.io/synapse/latest/).

Recommended memory: about 1024 MiB.

## Services, ports and volumes

| Service | Image | Container ports | Volumes |
| - | - | - | - |
| `postgres` | `postgres:16-alpine` | none | `synapse_postgres_data -&#62; /var/lib/postgresql/data` |
| `synapse` | `matrixdotorg/synapse:latest` | 8008 | `synapse_data -&#62; /data` |

## Environment variables

| Service | Variable | Value |
| - | - | - |
| `postgres` | `POSTGRES_DB` | Preset in the template |
| `postgres` | `POSTGRES_INITDB_ARGS` | Preset in the template |
| `postgres` | `POSTGRES_PASSWORD` | Generated at deploy |
| `postgres` | `POSTGRES_USER` | Preset in the template |
| `synapse` | `ADMIN_PASSWORD` | Generated at deploy |
| `synapse` | `ADMIN_USERNAME` | Generated at deploy |
| `synapse` | `DB_PASSWORD` | Generated at deploy |
| `synapse` | `ENABLE_REGISTRATION` | Preset in the template |
| `synapse` | `SYNAPSE_PUBLIC_BASEURL` | Preset in the template |
| `synapse` | `SYNAPSE_REPORT_STATS` | Preset in the template |
| `synapse` | `SYNAPSE_SERVER_NAME` | Preset in the template |

Passwords and keys marked as generated are created for you when the app is deployed and stored as secrets. Values are not shown here.

## Deploy Matrix Synapse (Postgres) with Levelrail

In the dashboard, open **Apps**, choose **New app**, then **Browse templates**, and select Matrix Synapse (Postgres). Review the Compose body and deploy.

With the CLI:

```bash theme={"dark"}
levelrail-cli templates deploy matrix-synapse-postgres --name my-matrix-synapse-postgres
```

See the [service template catalog](/templates-and-registry) for how templates work, and [Getting started](/getting-started) if you have not installed Levelrail yet.

## More Communication templates

* [Apache Answer](/self-host/answer)
* [Apprise API](/self-host/apprise-api)
* [Campfire](/self-host/campfire)
* [Chatwoot](/self-host/chatwoot)
* [FreeScout](/self-host/freescout)

All templates are listed in the [self-host gallery](/self-host).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.