# Matrix (Synapse backend) Generated on 26 Nov 2024 from [the Matrix (Synapse backend) catalog page](https://marketplace.digitalocean.com/apps/matrix-synapse-backend) Matrix is a decentralized, federated chat platform built on open standards. This 1-Click App includes everything you need to self-host your own Matrix system. This image contains a database (PostgreSQL), a matrix server (Synapse), a matrix web client (Element Web), and a reverse proxy (Caddy). After walking through the simple setup procedure, you will be able to login to your own Matrix web client and chat on the fediverse! ## Software Included | Package | Version | License | |---|---|---| | Synapse | 1.120.0 | [AGPL3](https://github.com/element-hq/synapse/blob/develop/LICENSE) | | Element Web | 1.11.86 | [AGPL3](https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0) | | Caddy | 2.8.4 | [Apache License 2.0](https://github.com/caddyserver/caddy/blob/master/LICENSE) | | PostgreSQL | 15 | [PostgreSQL License](https://www.postgresql.org/about/licence/) | ## Creating an App using the Control Panel Click the **Deploy to DigitalOcean** button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account. [![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/droplets/new?image=sharklabs-matrixsynapsebac-10) ## Creating an App using the API In addition to creating a Droplet from the Matrix (Synapse backend) 1-Click App using the control panel, you can also use the [DigitalOcean API](https://docs.digitalocean.com/reference/api). As an example, to create a 4GB Matrix (Synapse backend) Droplet in the SFO2 region, you can use the following `curl` command. You need to either save your [API access token](https://docs.digitalocean.com/reference/api/create-personal-access-token/index.html.md) to an environment variable or substitute it in the command below. ```shell curl -X POST -H 'Content-Type: application/json' \ -H 'Authorization: Bearer '$TOKEN'' -d \ '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image":"sharklabs-matrixsynapsebac-10"}' \ "https://api.digitalocean.com/v2/droplets" ``` ## Getting Started After Deploying Matrix (Synapse backend) ## Hardware Requirements Keep in mind when selecting a monthly plan that the more resources you can provide, the better the chat quality will be. 2GB+ RAM is highly recommended. ## Dependencies - A new DNS domain you’d like to use exclusively for Matrix (it is recommended and also very cute to buy a .town, .space, or similar domain for this purpose) - You must be capable of managing the DNS records for the domain you’d like to use - openssh (or putty) - 5 minutes ## Finishing Setup 1. Login to your droplet via `ssh root@your_droplet_public_ipv4` 2. Run `./finish-setup` 3. When directed, set up your DNS records 4. Read the operation guide `cat /root/README.txt` 5. ??? 6. Profit! ## Upgrades It is recommended to upgrade your system once a month. Please watch out for security vulnerabilities: [https://matrix.org/blog/category/security](https://matrix.org/blog/category/security) Upgrading is fairly straightforward: ``` # upgrade the OS, synapse, and caddy apt update apt upgrade # upgrade element ./upgrade-element ```