diff --git a/apps/synapse-admin/0.8.7/.env.sample b/apps/synapse-admin/0.8.7/.env.sample new file mode 100644 index 00000000..23a03917 --- /dev/null +++ b/apps/synapse-admin/0.8.7/.env.sample @@ -0,0 +1,2 @@ +CONTAINER_NAME="synapse-admin" +PANEL_APP_PORT_HTTP="40046" \ No newline at end of file diff --git a/apps/synapse-admin/0.8.7/data.yml b/apps/synapse-admin/0.8.7/data.yml new file mode 100644 index 00000000..010c8a8b --- /dev/null +++ b/apps/synapse-admin/0.8.7/data.yml @@ -0,0 +1,10 @@ +additionalProperties: + formFields: + - default: 40046 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number diff --git a/apps/synapse-admin/0.8.7/docker-compose.yml b/apps/synapse-admin/0.8.7/docker-compose.yml new file mode 100644 index 00000000..ec3ee95e --- /dev/null +++ b/apps/synapse-admin/0.8.7/docker-compose.yml @@ -0,0 +1,16 @@ +version: "3" +services: + synapse-admin: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:80" + image: awesometechnologies/synapse-admin:0.8.7 + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/synapse-admin/README.md b/apps/synapse-admin/README.md new file mode 100644 index 00000000..5c6dc8ee --- /dev/null +++ b/apps/synapse-admin/README.md @@ -0,0 +1,106 @@ +[![GitHub license](https://img.shields.io/github/license/Awesome-Technologies/synapse-admin)](https://github.com/Awesome-Technologies/synapse-admin/blob/master/LICENSE) +[![Build Status](https://api.travis-ci.com/Awesome-Technologies/synapse-admin.svg?branch=master)](https://app.travis-ci.com/github/Awesome-Technologies/synapse-admin) +[![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) +[![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) + +# Synapse admin ui + +This project is built using [react-admin](https://marmelab.com/react-admin/). + +## Usage + +### Supported Synapse + +It needs at least [Synapse](https://github.com/matrix-org/synapse) v1.52.0 for all functions to work as expected! + +You get your server version with the request `/_synapse/admin/v1/server_version`. +See also [Synapse version API](https://matrix-org.github.io/synapse/develop/admin_api/version_api.html). + +After entering the URL on the login page of synapse-admin the server version appears below the input field. + +### Prerequisites + +You need access to the following endpoints: + +- `/_matrix` +- `/_synapse/admin` + +See also [Synapse administration endpoints](https://matrix-org.github.io/synapse/develop/reverse_proxy.html#synapse-administration-endpoints) + +### 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:** +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. + +### Step-By-Step install + +You have three options: + +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) + +#### Steps for 1) + +- 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 + +#### Steps for 2) + +- 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` + +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/). + +#### Steps for 3) + +- 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` + + > 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" + # # see #266, PUBLIC_URL must be without surrounding quotation marks + # - PUBLIC_URL=/synapse-admin + # - REACT_APP_SERVER="https://matrix.example.com" + ports: + - "8080:80" + restart: unless-stopped + ``` + +- browse to http://localhost:8080 + +## Screenshots + +![Screenshots](./screenshots.jpg) + +## Development + +- Use `yarn test` to run all style, lint and unit tests +- Use `yarn fix` to fix the coding style \ No newline at end of file diff --git a/apps/synapse-admin/data.yml.bak b/apps/synapse-admin/data.yml.bak new file mode 100644 index 00000000..a9793ed6 --- /dev/null +++ b/apps/synapse-admin/data.yml.bak @@ -0,0 +1,20 @@ +name: Synapse-admin +tags: + - 工具 +title: Synapse管理界面 +type: 工具 +description: Synapse管理界面 +additionalProperties: + key: synapse-admin + name: Synapse-admin + tags: + - Tool + shortDescZh: Synapse管理界面 + shortDescEn: Synapse admin ui + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://hub.docker.com/r/awesometechnologies/synapse-admin + github: https://github.com/Awesome-Technologies/synapse-admin + document: https://github.com/Awesome-Technologies/synapse-admin diff --git a/apps/synapse-admin/latest/.env.sample b/apps/synapse-admin/latest/.env.sample new file mode 100644 index 00000000..23a03917 --- /dev/null +++ b/apps/synapse-admin/latest/.env.sample @@ -0,0 +1,2 @@ +CONTAINER_NAME="synapse-admin" +PANEL_APP_PORT_HTTP="40046" \ No newline at end of file diff --git a/apps/synapse-admin/latest/data.yml b/apps/synapse-admin/latest/data.yml new file mode 100644 index 00000000..010c8a8b --- /dev/null +++ b/apps/synapse-admin/latest/data.yml @@ -0,0 +1,10 @@ +additionalProperties: + formFields: + - default: 40046 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number diff --git a/apps/synapse-admin/latest/docker-compose.yml b/apps/synapse-admin/latest/docker-compose.yml new file mode 100644 index 00000000..2bdacb2d --- /dev/null +++ b/apps/synapse-admin/latest/docker-compose.yml @@ -0,0 +1,16 @@ +version: "3" +services: + synapse-admin: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:80" + image: awesometechnologies/synapse-admin:latest + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/synapse-admin/logo.png b/apps/synapse-admin/logo.png new file mode 100644 index 00000000..023fe72d Binary files /dev/null and b/apps/synapse-admin/logo.png differ