From 80053a8de34392609dc7f21b8e1e1957be96f6b7 Mon Sep 17 00:00:00 2001 From: Schiriki Date: Sun, 31 Jul 2022 16:59:46 +0200 Subject: [PATCH] New app: Matrix Synapse (#684) * New app: Matrix Synapse * Change default version * default version fix * Add explanation to change the max_upload_size * Update explanation to change the max_upload_size * Fix bugs in explanation to change the max_upload_size * Remove simple * Code clean up * Overhaul: no need for the user to execute command * code formatting * add public_baseurl * homeserver.yaml configured to use postgres * finished postgres setup * Add "start" description --- public/v4/apps/matrix-synapse.yml | 118 +++++++++++++++++++++++++++++ public/v4/logos/matrix-synapse.png | Bin 0 -> 12170 bytes 2 files changed, 118 insertions(+) create mode 100644 public/v4/apps/matrix-synapse.yml create mode 100644 public/v4/logos/matrix-synapse.png diff --git a/public/v4/apps/matrix-synapse.yml b/public/v4/apps/matrix-synapse.yml new file mode 100644 index 0000000..e07d75c --- /dev/null +++ b/public/v4/apps/matrix-synapse.yml @@ -0,0 +1,118 @@ +captainVersion: 4 +services: + $$cap_appname-db: + image: postgres:$$cap_postgres_version + restart: unless-stopped + environment: + POSTGRES_DB: synapse_db + POSTGRES_PASSWORD: $$cap_db_password + POSTGRES_USER: synapse_user + POSTGRES_INITDB_ARGS: --encoding='UTF8' --lc-collate='C' --lc-ctype='C' + volumes: + - $$cap_appname-db:/var/lib/postgresql/data + caproverExtra: + notExposeAsWebApp: true + + $$cap_appname: + restart: unless-stopped + environment: + TZ: $$cap_time_zone + volumes: + - $$cap_appname-data:/data + caproverExtra: + containerHttpPort: '8008' + dockerfileLines: + - FROM matrixdotorg/synapse:$$cap_synapse_version + - RUN mkdir /data/ + - ENV SYNAPSE_SERVER_NAME=$$cap_appname.$$cap_root_domain + - ENV SYNAPSE_REPORT_STATS=$$cap_synapse_stats + - RUN /start.py generate + - RUN echo '\nserve_server_wellknown\072 true' >> /data/homeserver.yaml + - RUN echo "\nenable_registration\072 $$cap_enable_registration \nenable_registration_without_verification\072 true" >> /data/homeserver.yaml + - RUN echo "\nmax_upload_size\072 $$cap_max_upload_sizeM" >> /data/homeserver.yaml + - RUN sed -i '/^server_name.*/a public_baseurl\o072 "https://$$cap_appname.$$cap_root_domain"' /data/homeserver.yaml + - RUN sed -i 's/name\o072 sqlite3/name\o072 psycopg2/g' /data/homeserver.yaml + - RUN sed -i 's/database\o072 .*homeserver\.db/database\o072 synapse_db\n user\o072 synapse_user\n password\o072 $$cap_db_password\n host\o072 srv-captain--$$cap_appname-db\n port\o072 5432\n/g' /data/homeserver.yaml + + + +caproverOneClickApp: + variables: + - id: '$$cap_synapse_version' + label: Synapse Version + defaultValue: 'v1.63.1' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/matrixdotorg/synapse/tags + validRegex: '/^v[0-9]{1,}|latest$/' + - id: '$$cap_time_zone' + label: Time zone + defaultValue: Europe/Berlin + description: The time zone of your server https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + validRegex: '/.{1,}/' + - id: '$$cap_synapse_stats' + label: Report stats + defaultValue: 'no' + description: 'Report stats' + validRegex: '/^(yes|no)$/i' + - id: '$$cap_enable_registration' + label: Enable public registration + defaultValue: 'false' + description: >- + Set this to true if you want EVERYONE to be able to register. + It's recommended to set this to false and create users manually. + validRegex: '/^(true|false)$/i' + - id: '$$cap_max_upload_size' + label: Max upload size + defaultValue: '300' + description: >- + The maximum size of a file that can be uploaded, in megabytes. + + If you set this higher than 500, you will will also need to increase the nginx "client_max_body_size". + validRegex: '/^[0-9]{1,}$/' + - id: '$$cap_postgres_version' + label: Postgres version + defaultValue: '14' + description: >- + The version of postgres that you want to use. + You can find the valid versions here: https://hub.docker.com/r/postgres/postgres/tags + validRegex: '/^[0-9]{1,}|latest$/' + - id: '$$cap_db_password' + label: Database password + defaultValue: $$cap_gen_random_hex(20) + description: >- + The password for the Synapse database. + validRegex: '/^[0-9a-zA-Z]{1,}$/' + instructions: + start: >- + Synapse is a server implementation of the matrix protocol that allows you to host your own messaging server. + + Matrix is build to federate with other servers, so you can communicate with people from other servers. + + More information about matrix can be found here: https://matrix.org/ + end: >- + Almost done. + + Enable and force https in the web interface + + Wait 30 seconds, go to https://$$cap_appname.$$cap_root_domain and should be able to see "It works! Synapse is running" + + $$cap_appname.$$cap_root_domain is the domain you enter in the custom homeserver field of your client + + Remember this is just the server, you also need a client like https://app.element.io/ to use this app. + + + If you set public registration to false, you can create new users with the following command: + + sudo docker exec -it $(sudo docker ps | grep -o srv-captain--$$cap_appname.*) register_new_matrix_user http://localhost:8008 -c /data/homeserver.yaml + + + You can always change the config file located in /var/lib/docker/volumes/srv-captain--$$cap_appname-data/_data/homeserver.yaml + + + link to the the configuration manual: https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html + + after a change restart the container by clicking "Save & Update" + + displayName: Matrix Synapse + isOfficial: true + description: Server for the matrix protocol + documentation: https://github.com/matrix-org/synapse/tree/develop/docker diff --git a/public/v4/logos/matrix-synapse.png b/public/v4/logos/matrix-synapse.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0c1a9f238ce63390cc689d1a03576258465a15 GIT binary patch literal 12170 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 literal 0 HcmV?d00001