2020-02-11 16:41:35 +08:00
[![Build Status ](https://travis-ci.org/Awesome-Technologies/synapse-admin.svg?branch=master )](https://travis-ci.org/Awesome-Technologies/synapse-admin)
2021-08-18 15:27:25 +08: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)
2020-02-11 16:41:35 +08:00
2020-01-27 21:57:27 +08:00
# Synapse admin ui
This project is built using [react-admin ](https://marmelab.com/react-admin/ ).
2022-02-18 03:45:21 +08:00
It needs at least Synapse v1.42.0 for all functions to work as expected!
2020-07-05 01:32:45 +08:00
2020-10-26 17:08:33 +08:00
You get your server version with the request `/_synapse/admin/v1/server_version` .
2021-07-06 15:57:44 +08:00
See also [Synapse version API ](https://matrix-org.github.io/synapse/develop/admin_api/version_api.html ).
2020-10-26 17:08:33 +08:00
After entering the URL on the login page of synapse-admin the server version appears below the input field.
You need access to the following endpoints:
2020-11-12 23:16:32 +08:00
2020-10-26 17:08:33 +08:00
- `/_matrix`
- `/_synapse/admin`
2021-07-06 15:57:44 +08:00
See also [Synapse administration endpoints ](https://matrix-org.github.io/synapse/develop/reverse_proxy.html#synapse-administration-endpoints )
2020-10-26 17:08:33 +08:00
2022-02-01 00:39:18 +08:00
## Step-By-Step install
2020-07-05 01:32:45 +08:00
2021-08-19 18:12:27 +08:00
You have three options:
2020-07-05 01:32:45 +08:00
2022-02-01 00:39:18 +08: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-05 01:32:45 +08:00
2022-02-01 00:39:18 +08:00
### Steps for 1)
2020-07-05 01:32:45 +08:00
2021-08-19 18:12:27 +08: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-02-01 00:39:18 +08:00
### Steps for 2)
2021-08-19 18:12:27 +08:00
2020-07-05 01:32:45 +08: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 18:39:53 +08: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-02-01 00:39:18 +08:00
### Steps for 3)
2020-07-05 01:32:45 +08:00
2021-08-17 14:22:36 +08: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 20:38:39 +08: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"
ports:
- "8080:80"
restart: unless-stopped
```
2020-07-05 01:32:45 +08:00
- browse to http://localhost:8080
## Screenshots
![Screenshots ](./screenshots.jpg )
2020-07-29 23:49:00 +08:00
## Development
- Use `yarn test` to run all style, lint and unit tests
- Use `yarn fix` to fix the coding style