2023-01-16 14:53:38 +03:00
[![GitHub license ](https://img.shields.io/github/license/Awesome-Technologies/synapse-admin )](https://github.com/Awesome-Technologies/synapse-admin/blob/master/LICENSE)
2023-01-24 11:29:59 +03:00
[![Build Status ](https://api.travis-ci.com/Awesome-Technologies/synapse-admin.svg?branch=master )](https://app.travis-ci.com/github/Awesome-Technologies/synapse-admin)
2021-08-18 10:27:25 +03:00
[![build-test ](https://github.com/Awesome-Technologies/synapse-admin/actions/workflows/build-test.yml/badge.svg )](https://github.com/Awesome-Technologies/synapse-admin/actions/workflows/build-test.yml)
2023-01-16 14:53:38 +03:00
[![gh-pages ](https://github.com/Awesome-Technologies/synapse-admin/actions/workflows/edge_ghpage.yml/badge.svg )](https://awesome-technologies.github.io/synapse-admin/)
[![docker-release ](https://github.com/Awesome-Technologies/synapse-admin/actions/workflows/docker-release.yml/badge.svg )](https://hub.docker.com/r/awesometechnologies/synapse-admin)
[![github-release ](https://github.com/Awesome-Technologies/synapse-admin/actions/workflows/github-release.yml/badge.svg )](https://github.com/Awesome-Technologies/synapse-admin/releases)
2020-02-11 11:41:35 +03:00
2020-01-27 16:57:27 +03:00
# Synapse admin ui
This project is built using [react-admin ](https://marmelab.com/react-admin/ ).
2022-04-20 11:46:19 +03:00
## Usage
### Supported Synapse
2024-02-07 13:14:25 +03:00
It needs at least [Synapse ](https://github.com/element-hq/synapse ) v1.52.0 for all functions to work as expected!
2020-07-04 20:32:45 +03:00
2020-10-26 12:08:33 +03:00
You get your server version with the request `/_synapse/admin/v1/server_version` .
2024-02-07 13:14:25 +03:00
See also [Synapse version API ](https://element-hq.github.io/synapse/latest/admin_api/version_api.html ).
2020-10-26 12:08:33 +03:00
After entering the URL on the login page of synapse-admin the server version appears below the input field.
2022-04-20 11:46:19 +03:00
### Prerequisites
2020-10-26 12:08:33 +03:00
You need access to the following endpoints:
2020-11-12 18:16:32 +03:00
2020-10-26 12:08:33 +03:00
- `/_matrix`
- `/_synapse/admin`
2024-02-07 13:14:25 +03:00
See also [Synapse administration endpoints ](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints )
2020-10-26 12:08:33 +03:00
2022-04-20 11:46:19 +03:00
### Use without install
You can use the current version of Synapse Admin without own installation direct
via [GitHub Pages ](https://awesome-technologies.github.io/synapse-admin/ ).
**Note:**
2022-05-09 14:46:00 +03:00
If you want to use the deployment, you have to make sure that the admin endpoints (`/_synapse/admin`) are accessible for your browser.
**Remember: You have no need to expose these endpoints to the internet but to your network.**
If you want your own deployment, follow the [Step-By-Step Install Guide ](#step-by-step-install ) below.
2022-04-20 11:46:19 +03:00
### Step-By-Step install
2020-07-04 20:32:45 +03:00
2021-08-19 13:12:27 +03:00
You have three options:
2020-07-04 20:32:45 +03:00
2022-01-31 19:39:18 +03:00
1. [Download the tarball and serve with any webserver ](#steps-for-1 )
2. [Download the source code from github and run using nodejs ](#steps-for-2 )
3. [Run the Docker container ](#steps-for-3 )
2020-07-04 20:32:45 +03:00
2022-04-20 11:46:19 +03:00
#### Steps for 1)
2020-07-04 20:32:45 +03:00
2021-08-19 13:12:27 +03:00
- make sure you have a webserver installed that can serve static files (any webserver like nginx or apache will do)
- configure a vhost for synapse admin on your webserver
- download the .tar.gz from the latest release: https://github.com/Awesome-Technologies/synapse-admin/releases/latest
- unpack the .tar.gz
- move or symlink the `synapse-admin-x.x.x` into your vhosts root dir
- open the url of the vhost in your browser
2022-04-20 11:46:19 +03:00
#### Steps for 2)
2021-08-19 13:12:27 +03:00
2020-07-04 20:32:45 +03:00
- make sure you have installed the following: git, yarn, nodejs
- download the source code: `git clone https://github.com/Awesome-Technologies/synapse-admin.git`
- change into downloaded directory: `cd synapse-admin`
- download dependencies: `yarn install`
- start web server: `yarn start`
2021-05-18 13:39:53 +03:00
You can fix the homeserver, so that the user can no longer define it himself.
Either you define it at startup (e.g. `REACT_APP_SERVER=https://yourmatrixserver.example.com yarn start` )
or by editing it in the [.env ](.env ) file. See also the
[documentation ](https://create-react-app.dev/docs/adding-custom-environment-variables/ ).
2022-04-20 11:46:19 +03:00
#### Steps for 3)
2020-07-04 20:32:45 +03:00
2021-08-17 09:22:36 +03:00
- run the Docker container from the public docker registry: `docker run -p 8080:80 awesometechnologies/synapse-admin` or use the [docker-compose.yml ](docker-compose.yml ): `docker-compose up -d`
2021-01-23 15:38:39 +03:00
> note: if you're building on an architecture other than amd64 (for example a raspberry pi), make sure to define a maximum ram for node. otherwise the build will fail.
```yml
version: "3"
services:
synapse-admin:
container_name: synapse-admin
hostname: synapse-admin
build:
context: https://github.com/Awesome-Technologies/synapse-admin.git
# args:
# - NODE_OPTIONS="--max_old_space_size=1024"
2023-01-16 22:20:02 +03:00
# # see #266 , PUBLIC_URL must be without surrounding quotation marks
# - PUBLIC_URL=/synapse-admin
2022-05-23 15:06:04 +03:00
# - REACT_APP_SERVER="https://matrix.example.com"
2021-01-23 15:38:39 +03:00
ports:
- "8080:80"
restart: unless-stopped
```
2020-07-04 20:32:45 +03:00
- browse to http://localhost:8080
## Screenshots
![Screenshots ](./screenshots.jpg )
2020-07-29 18:49:00 +03:00
## Development
- Use `yarn test` to run all style, lint and unit tests
- Use `yarn fix` to fix the coding style