Просмотр исходного кода

Replace "SchildiChat" with "SchildiChat Web"

- If SchildiChat indicates the web application, then it is changed to SchildiChat Web.
- If it indicates clients branded with SchildiChat such as SchildiChat desktop, web, mobile clients, then it is changed to SchildiChat clients.
- If it is combined with location sharing functionality, it is not changed.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
pull/3755/head
Suguru Hirahara 1 год назад
Родитель
Сommit
e6f7bd0fba
Не найден GPG ключ соответствующий данной подписи Идентификатор GPG ключа: E4F9743DAB4B7B75
15 измененных файлов: 60 добавлений и 60 удалений
  1. +3
    -3
      CHANGELOG.md
  2. +1
    -1
      README.md
  3. +1
    -1
      YEAR-IN-REVIEW.md
  4. +2
    -2
      docs/configuring-dns.md
  5. +13
    -13
      docs/configuring-playbook-client-schildichat.md
  6. +1
    -1
      docs/configuring-playbook.md
  7. +1
    -1
      docs/container-images.md
  8. +1
    -1
      roles/custom/matrix-base/defaults/main.yml
  9. +12
    -12
      roles/custom/matrix-client-schildichat/defaults/main.yml
  10. +7
    -7
      roles/custom/matrix-client-schildichat/tasks/prepare_themes.yml
  11. +5
    -5
      roles/custom/matrix-client-schildichat/tasks/self_check.yml
  12. +8
    -8
      roles/custom/matrix-client-schildichat/tasks/setup_install.yml
  13. +1
    -1
      roles/custom/matrix-client-schildichat/tasks/setup_uninstall.yml
  14. +3
    -3
      roles/custom/matrix-client-schildichat/tasks/validate_config.yml
  15. +1
    -1
      roles/custom/matrix-client-schildichat/templates/systemd/matrix-client-schildichat.service.j2

+ 3
- 3
CHANGELOG.md Просмотреть файл

@@ -751,11 +751,11 @@ People who [enable load-balancing with Synapse workers](docs/configuring-playboo


# 2023-08-31 # 2023-08-31


## SchildiChat support
## SchildiChat Web support


Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the [SchildiChat](https://github.com/SchildiChat/schildichat-desktop) client.
Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) client.


See our [Configuring SchildiChat](docs/configuring-playbook-client-schildichat.md) documentation to get started.
See our [Configuring SchildiChat Web](docs/configuring-playbook-client-schildichat.md) documentation to get started.




# 2023-08-23 # 2023-08-23


+ 1
- 1
README.md Просмотреть файл

@@ -56,7 +56,7 @@ Web clients for Matrix that you can host on your own domains.
| [Element Web](https://github.com/element-hq/element-web) | ✅ | Default Matrix web client, configured to connect to your own Synapse server | [Link](docs/configuring-playbook-client-element.md) | | [Element Web](https://github.com/element-hq/element-web) | ✅ | Default Matrix web client, configured to connect to your own Synapse server | [Link](docs/configuring-playbook-client-element.md) |
| [Hydrogen](https://github.com/element-hq/hydrogen-web) | ❌ | Lightweight Matrix client with legacy and mobile browser support | [Link](docs/configuring-playbook-client-hydrogen.md) | | [Hydrogen](https://github.com/element-hq/hydrogen-web) | ❌ | Lightweight Matrix client with legacy and mobile browser support | [Link](docs/configuring-playbook-client-hydrogen.md) |
| [Cinny](https://github.com/ajbura/cinny) | ❌ | Simple, elegant and secure web client | [Link](docs/configuring-playbook-client-cinny.md) | | [Cinny](https://github.com/ajbura/cinny) | ❌ | Simple, elegant and secure web client | [Link](docs/configuring-playbook-client-cinny.md) |
| [SchildiChat](https://schildi.chat/) | ❌ | Based on Element Web, with a more traditional instant messaging experience | [Link](docs/configuring-playbook-client-schildichat.md) |
| [SchildiChat Web](https://schildi.chat/) | ❌ | Based on Element Web, with a more traditional instant messaging experience | [Link](docs/configuring-playbook-client-schildichat.md) |








+ 1
- 1
YEAR-IN-REVIEW.md Просмотреть файл

@@ -37,7 +37,7 @@ A few other **major components and changes** landed in 2023:
* (2023-03-07) [Sliding Sync proxy](https://github.com/matrix-org/sliding-sync) (currently a necessary component for [Element X](https://element.io/labs/element-x) to work), thanks to: [Benjamin Kampmann](https://github.com/gnunicorn) and [FSG-Cat](https://github.com/FSG-Cat) (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#sliding-sync-proxy-element-x-support)) * (2023-03-07) [Sliding Sync proxy](https://github.com/matrix-org/sliding-sync) (currently a necessary component for [Element X](https://element.io/labs/element-x) to work), thanks to: [Benjamin Kampmann](https://github.com/gnunicorn) and [FSG-Cat](https://github.com/FSG-Cat) (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#sliding-sync-proxy-element-x-support))
* (2023-03-12) synapse-auto-compressor to periodically and automatically run [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state), thanks to a PR by [Aine](https://gitlab.com/etke.cc) from [etke.cc](https://etke.cc/) (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#synapse-auto-compressor-support)) * (2023-03-12) synapse-auto-compressor to periodically and automatically run [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state), thanks to a PR by [Aine](https://gitlab.com/etke.cc) from [etke.cc](https://etke.cc/) (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#synapse-auto-compressor-support))
* (2023-07-17) [matrix-media-repo](https://github.com/turt2live/matrix-media-repo),  thanks to a PR by [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/) (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#matrix-media-repo-support)) * (2023-07-17) [matrix-media-repo](https://github.com/turt2live/matrix-media-repo),  thanks to a PR by [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/) (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#matrix-media-repo-support))
* (2023-08-31) [SchildiChat](https://github.com/SchildiChat/schildichat-desktop) client app (fork of [Element Web)](https://github.com/element-hq/element-web), thanks to a PR by [Aine](https://gitlab.com/etke.cc) from [etke.cc](https://etke.cc/) (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#schildichat-support))
* (2023-08-31) [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) client app (fork of [Element Web)](https://github.com/element-hq/element-web), thanks to a PR by [Aine](https://gitlab.com/etke.cc) from [etke.cc](https://etke.cc/) (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#schildichat-support))
* (2023-10-18) Postgres parameters auto-tuning, thanks to a PR by [Aine](https://gitlab.com/etke.cc) from [etke.cc](https://etke.cc/) (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#postgres-parameters-are-automatically-tuned-now)) * (2023-10-18) Postgres parameters auto-tuning, thanks to a PR by [Aine](https://gitlab.com/etke.cc) from [etke.cc](https://etke.cc/) (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#postgres-parameters-are-automatically-tuned-now))
* (2023-10-23) Enabling federation of the room directory for Synapse (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#enabling-allow_public_rooms_over_federation-by-default-for-synapse)) * (2023-10-23) Enabling federation of the room directory for Synapse (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#enabling-allow_public_rooms_over_federation-by-default-for-synapse))




+ 2
- 2
docs/configuring-dns.md Просмотреть файл

@@ -40,7 +40,7 @@ If you are using Cloudflare DNS, make sure to disable the proxy and set all reco
| [Etherpad](configuring-playbook-etherpad.md) collaborative text editor | CNAME | `etherpad` | - | - | - | `matrix.example.com` | | [Etherpad](configuring-playbook-etherpad.md) collaborative text editor | CNAME | `etherpad` | - | - | - | `matrix.example.com` |
| [Hydrogen](configuring-playbook-client-hydrogen.md) web client | CNAME | `hydrogen` | - | - | - | `matrix.example.com` | | [Hydrogen](configuring-playbook-client-hydrogen.md) web client | CNAME | `hydrogen` | - | - | - | `matrix.example.com` |
| [Cinny](configuring-playbook-client-cinny.md) web client | CNAME | `cinny` | - | - | - | `matrix.example.com` | | [Cinny](configuring-playbook-client-cinny.md) web client | CNAME | `cinny` | - | - | - | `matrix.example.com` |
| [SchildiChat](configuring-playbook-client-schildichat.md) web client | CNAME | `schildichat` | - | - | - | `matrix.example.com` |
| [SchildiChat Web](configuring-playbook-client-schildichat.md) client | CNAME | `schildichat` | - | - | - | `matrix.example.com` |
| [wsproxy](configuring-playbook-bridge-mautrix-wsproxy.md) sms bridge | CNAME | `wsproxy` | - | - | - | `matrix.example.com` | | [wsproxy](configuring-playbook-bridge-mautrix-wsproxy.md) sms bridge | CNAME | `wsproxy` | - | - | - | `matrix.example.com` |
| [Buscarron](configuring-playbook-bot-buscarron.md) helpdesk bot | CNAME | `buscarron` | - | - | - | `matrix.example.com` | | [Buscarron](configuring-playbook-bot-buscarron.md) helpdesk bot | CNAME | `buscarron` | - | - | - | `matrix.example.com` |
| [rageshake](docs/configuring-playbook-rageshake.md) bug report server | CNAME | `rageshake` | - | - | - | `matrix.example.com` | | [rageshake](docs/configuring-playbook-rageshake.md) bug report server | CNAME | `rageshake` | - | - | - | `matrix.example.com` |
@@ -75,7 +75,7 @@ The `hydrogen.example.com` subdomain may be necessary, because this playbook cou


The `cinny.example.com` subdomain may be necessary, because this playbook could install the [Cinny](https://github.com/ajbura/cinny) web client. The installation of Cinny is disabled by default, it is not a core required component. To learn how to install it, see our [configuring Cinny guide](configuring-playbook-client-cinny.md). If you do not wish to set up Cinny, feel free to skip the `cinny.example.com` DNS record. The `cinny.example.com` subdomain may be necessary, because this playbook could install the [Cinny](https://github.com/ajbura/cinny) web client. The installation of Cinny is disabled by default, it is not a core required component. To learn how to install it, see our [configuring Cinny guide](configuring-playbook-client-cinny.md). If you do not wish to set up Cinny, feel free to skip the `cinny.example.com` DNS record.


The `schildichat.example.com` subdomain may be necessary, because this playbook could install the [SchildiChat](https://github.com/SchildiChat/schildichat-desktop) web client. The installation of SchildiChat is disabled by default, it is not a core required component. To learn how to install it, see our [configuring SchildiChat guide](configuring-playbook-client-schildichat.md). If you do not wish to set up SchildiChat, feel free to skip the `schildichat.example.com` DNS record.
The `schildichat.example.com` subdomain may be necessary, because this playbook could install the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) client. The installation of SchildiChat Web is disabled by default, it is not a core required component. To learn how to install it, see our [configuring SchildiChat Web guide](configuring-playbook-client-schildichat.md). If you do not wish to set up SchildiChat Web, feel free to skip the `schildichat.example.com` DNS record.


The `wsproxy.example.com` subdomain may be necessary, because this playbook could install the [wsproxy](https://github.com/mautrix/wsproxy) web client. The installation of wsproxy is disabled by default, it is not a core required component. To learn how to install it, see our [configuring wsproxy guide](configuring-playbook-bridge-mautrix-wsproxy.md). If you do not wish to set up wsproxy, feel free to skip the `wsproxy.example.com` DNS record. The `wsproxy.example.com` subdomain may be necessary, because this playbook could install the [wsproxy](https://github.com/mautrix/wsproxy) web client. The installation of wsproxy is disabled by default, it is not a core required component. To learn how to install it, see our [configuring wsproxy guide](configuring-playbook-bridge-mautrix-wsproxy.md). If you do not wish to set up wsproxy, feel free to skip the `wsproxy.example.com` DNS record.




+ 13
- 13
docs/configuring-playbook-client-schildichat.md Просмотреть файл

@@ -1,28 +1,28 @@
# Setting up SchildiChat (optional)
# Setting up SchildiChat Web (optional)


This playbook can install the [SchildiChat](https://github.com/SchildiChat/schildichat-desktop) Matrix web client for you.
This playbook can install the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) Matrix client for you.


SchildiChat is a feature-rich messenger for Matrix based on Element Web with some extras and tweaks. It can be installed alongside or instead of Element Web.
SchildiChat Web is a feature-rich messenger for Matrix based on Element Web with some extras and tweaks. It can be installed alongside or instead of Element Web.


**WARNING**: SchildiChat Web is based on Element Web, but its releases are lagging behind. As an example (from 2024-02-26), SchildiChat Web is 22 releases behind (it being based on Element Web `v1.11.36`, while Element Web is now on `v1.11.58`). Element Web frequently suffers from security issues, so running something based on an ancient Element Web release is **dangerous**. Use SchildiChat Web at your own risk! **WARNING**: SchildiChat Web is based on Element Web, but its releases are lagging behind. As an example (from 2024-02-26), SchildiChat Web is 22 releases behind (it being based on Element Web `v1.11.36`, while Element Web is now on `v1.11.58`). Element Web frequently suffers from security issues, so running something based on an ancient Element Web release is **dangerous**. Use SchildiChat Web at your own risk!


## Adjusting the playbook configuration ## Adjusting the playbook configuration


To enable SchildiChat, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable SchildiChat Web, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:


```yaml ```yaml
matrix_client_schildichat_enabled: true matrix_client_schildichat_enabled: true
``` ```


The playbook provides some customization variables you could use to change SchildiChat's settings.
The playbook provides some customization variables you could use to change SchildiChat Web's settings.


Their defaults are defined in [`roles/custom/matrix-client-schildichat/defaults/main.yml`](../roles/custom/matrix-client-schildichat/defaults/main.yml) and they ultimately end up in the generated `/matrix/schildichat/config.json` file (on the server). This file is generated from the [`roles/custom/matrix-client-schildichat/templates/config.json.j2`](../roles/custom/matrix-client-schildichat/templates/config.json.j2) template. Their defaults are defined in [`roles/custom/matrix-client-schildichat/defaults/main.yml`](../roles/custom/matrix-client-schildichat/defaults/main.yml) and they ultimately end up in the generated `/matrix/schildichat/config.json` file (on the server). This file is generated from the [`roles/custom/matrix-client-schildichat/templates/config.json.j2`](../roles/custom/matrix-client-schildichat/templates/config.json.j2) template.


**If there's an existing variable** which controls a setting you wish to change, you can simply define that variable in your configuration file (`inventory/host_vars/matrix.example.com/vars.yml`) and [re-run the playbook](installing.md) to apply the changes. **If there's an existing variable** which controls a setting you wish to change, you can simply define that variable in your configuration file (`inventory/host_vars/matrix.example.com/vars.yml`) and [re-run the playbook](installing.md) to apply the changes.


Alternatively, **if there is no pre-defined variable** for a SchildiChat setting you wish to change:
Alternatively, **if there is no pre-defined variable** for a SchildiChat Web setting you wish to change:


- you can either **request a variable to be created** (or you can submit such a contribution yourself). Keep in mind that it's **probably not a good idea** to create variables for each one of SchildiChat's various settings that rarely get used.
- you can either **request a variable to be created** (or you can submit such a contribution yourself). Keep in mind that it's **probably not a good idea** to create variables for each one of SchildiChat Web's various settings that rarely get used.


- or, you can **extend and override the default configuration** ([`config.json.j2`](../roles/custom/matrix-client-schildichat/templates/config.json.j2)) by making use of the `matrix_client_schildichat_configuration_extension_json_` variable. You can find information about this in [`roles/custom/matrix-client-schildichat/defaults/main.yml`](../roles/custom/matrix-client-schildichat/defaults/main.yml). - or, you can **extend and override the default configuration** ([`config.json.j2`](../roles/custom/matrix-client-schildichat/templates/config.json.j2)) by making use of the `matrix_client_schildichat_configuration_extension_json_` variable. You can find information about this in [`roles/custom/matrix-client-schildichat/defaults/main.yml`](../roles/custom/matrix-client-schildichat/defaults/main.yml).


@@ -30,17 +30,17 @@ Alternatively, **if there is no pre-defined variable** for a SchildiChat setting


### Themes ### Themes


To change the look of SchildiChat, you can define your own themes manually by using the `matrix_client_schildichat_setting_defaults_custom_themes` setting.
To change the look of SchildiChat Web, you can define your own themes manually by using the `matrix_client_schildichat_setting_defaults_custom_themes` setting.


Or better yet, you can automatically pull it all themes provided by the [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes) project by simply flipping a flag (`matrix_client_schildichat_themes_enabled: true`). Or better yet, you can automatically pull it all themes provided by the [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes) project by simply flipping a flag (`matrix_client_schildichat_themes_enabled: true`).


If you make your own theme, we encourage you to submit it to the **aaronraimist/element-themes** project, so that the whole community could easily enjoy it. If you make your own theme, we encourage you to submit it to the **aaronraimist/element-themes** project, so that the whole community could easily enjoy it.


Note that for a custom theme to work well, all SchildiChat instances that you use must have the same theme installed.
Note that for a custom theme to work well, all SchildiChat Web instances that you use must have the same theme installed.


### Adjusting the SchildiChat URL
### Adjusting the SchildiChat Web URL


By default, this playbook installs SchildiChat on the `schildichat.` subdomain (`schildichat.example.com`) and requires you to [adjust your DNS records](#adjusting-dns-records).
By default, this playbook installs SchildiChat Web on the `schildichat.` subdomain (`schildichat.example.com`) and requires you to [adjust your DNS records](#adjusting-dns-records).


By tweaking the `matrix_client_schildichat_hostname` and `matrix_client_schildichat_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. By tweaking the `matrix_client_schildichat_hostname` and `matrix_client_schildichat_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.


@@ -48,7 +48,7 @@ Example additional configuration for your `inventory/host_vars/matrix.example.co


```yaml ```yaml
# Switch to the domain used for Matrix services (`matrix.example.com`), # Switch to the domain used for Matrix services (`matrix.example.com`),
# so we won't need to add additional DNS records for SchildiChat.
# so we won't need to add additional DNS records for SchildiChat Web.
matrix_client_schildichat_hostname: "{{ matrix_server_fqn_matrix }}" matrix_client_schildichat_hostname: "{{ matrix_server_fqn_matrix }}"


# Expose under the /schildichat subpath # Expose under the /schildichat subpath
@@ -57,7 +57,7 @@ matrix_client_schildichat_path_prefix: /schildichat


## Adjusting DNS records ## Adjusting DNS records


Once you've decided on the domain and path, **you may need to adjust your DNS** records to point the SchildiChat domain to the Matrix server.
Once you've decided on the domain and path, **you may need to adjust your DNS** records to point the SchildiChat Web domain to the Matrix server.


By default, you will need to create a CNAME record for `schildichat`. See [Configuring DNS](configuring-dns.md) for details about DNS changes. By default, you will need to create a CNAME record for `schildichat`. See [Configuring DNS](configuring-dns.md) for details about DNS changes.




+ 1
- 1
docs/configuring-playbook.md Просмотреть файл

@@ -76,7 +76,7 @@ Web clients for Matrix that you can host on your own domains.


- [Setting up Cinny](configuring-playbook-client-cinny.md), if you've enabled [Cinny](https://github.com/ajbura/cinny), a web client focusing primarily on simple, elegant and secure interface - [Setting up Cinny](configuring-playbook-client-cinny.md), if you've enabled [Cinny](https://github.com/ajbura/cinny), a web client focusing primarily on simple, elegant and secure interface


- [Setting up SchildiChat](configuring-playbook-client-schildichat.md), if you've enabled [SchildiChat](https://schildi.chat/), a web client based on [Element Web](https://element.io/) with some extras and tweaks
- [Setting up SchildiChat Web](configuring-playbook-client-schildichat.md), if you've enabled [SchildiChat Web](https://schildi.chat/), a web client based on [Element Web](https://element.io/) with some extras and tweaks


### Authentication and user-related ### Authentication and user-related




+ 1
- 1
docs/container-images.md Просмотреть файл

@@ -22,7 +22,7 @@ Web clients for Matrix that you can host on your own domains.
| [Element Web](configuring-playbook-client-element.md) | [vectorim/element-web](https://hub.docker.com/r/vectorim/element-web/) | ✓ | Default Matrix web client, configured to connect to your own Synapse server | | [Element Web](configuring-playbook-client-element.md) | [vectorim/element-web](https://hub.docker.com/r/vectorim/element-web/) | ✓ | Default Matrix web client, configured to connect to your own Synapse server |
| [Hydrogen](configuring-playbook-client-hydrogen.md) | [element-hq/hydrogen-web](https://ghcr.io/element-hq/hydrogen-web) | x | Lightweight Matrix client with legacy and mobile browser support | | [Hydrogen](configuring-playbook-client-hydrogen.md) | [element-hq/hydrogen-web](https://ghcr.io/element-hq/hydrogen-web) | x | Lightweight Matrix client with legacy and mobile browser support |
| [Cinny](configuring-playbook-client-cinny.md) | [ajbura/cinny](https://hub.docker.com/r/ajbura/cinny) | x | Simple, elegant and secure web client | | [Cinny](configuring-playbook-client-cinny.md) | [ajbura/cinny](https://hub.docker.com/r/ajbura/cinny) | x | Simple, elegant and secure web client |
| [SchildiChat](configuring-playbook-client-schildichat.md) | [etke.cc/schildichat-web](https://ghcr.io/etkecc/schildichat-web) | x | Based on Element Web, with a more traditional instant messaging experience |
| [SchildiChat Web](configuring-playbook-client-schildichat.md) | [etke.cc/schildichat-web](https://ghcr.io/etkecc/schildichat-web) | x | Based on Element Web, with a more traditional instant messaging experience |


## Server Components ## Server Components




+ 1
- 1
roles/custom/matrix-base/defaults/main.yml Просмотреть файл

@@ -77,7 +77,7 @@ matrix_server_fqn_hydrogen: "hydrogen.{{ matrix_domain }}"
# This is where you access the Cinny web client from (if enabled via matrix_client_cinny_enabled; disabled by default). # This is where you access the Cinny web client from (if enabled via matrix_client_cinny_enabled; disabled by default).
matrix_server_fqn_cinny: "cinny.{{ matrix_domain }}" matrix_server_fqn_cinny: "cinny.{{ matrix_domain }}"


# This is where you access the SchildiChat web client from (if enabled via matrix_client_schildichat_enabled; disabled by default).
# This is where you access the SchildiChat Web from (if enabled via matrix_client_schildichat_enabled; disabled by default).
matrix_server_fqn_schildichat: "schildichat.{{ matrix_domain }}" matrix_server_fqn_schildichat: "schildichat.{{ matrix_domain }}"


# This is where you access the Buscarron bot from (if enabled via matrix_bot_buscarron_enabled; disabled by default). # This is where you access the Buscarron bot from (if enabled via matrix_bot_buscarron_enabled; disabled by default).


+ 12
- 12
roles/custom/matrix-client-schildichat/defaults/main.yml Просмотреть файл

@@ -124,14 +124,14 @@ matrix_client_schildichat_floc_optout_enabled: true
matrix_client_schildichat_hsts_preload_enabled: false matrix_client_schildichat_hsts_preload_enabled: false


matrix_client_schildichat_scheme: https matrix_client_schildichat_scheme: https
# The hostname at which SchildiChat is served.
# The hostname at which SchildiChat Web is served.
matrix_client_schildichat_hostname: "{{ matrix_server_fqn_schildichat }}" matrix_client_schildichat_hostname: "{{ matrix_server_fqn_schildichat }}"


# The path at which SchildiChat is exposed.
# The path at which SchildiChat Web is exposed.
# This value must either be `/` or not end with a slash (e.g. `/schildichat`). # This value must either be `/` or not end with a slash (e.g. `/schildichat`).
matrix_client_schildichat_path_prefix: / matrix_client_schildichat_path_prefix: /


# SchildiChat config.json customizations
# SchildiChat Web config.json customizations
matrix_client_schildichat_default_server_name: "{{ matrix_domain }}" matrix_client_schildichat_default_server_name: "{{ matrix_domain }}"
matrix_client_schildichat_default_hs_url: "" matrix_client_schildichat_default_hs_url: ""
matrix_client_schildichat_default_is_url: ~ matrix_client_schildichat_default_is_url: ~
@@ -145,9 +145,9 @@ matrix_client_schildichat_integrations_jitsi_widget_url: "https://scalar.vector.
matrix_client_schildichat_permalink_prefix: "https://matrix.to" # noqa var-naming matrix_client_schildichat_permalink_prefix: "https://matrix.to" # noqa var-naming
matrix_client_schildichat_bug_report_endpoint_url: "https://element.io/bugreports/submit" matrix_client_schildichat_bug_report_endpoint_url: "https://element.io/bugreports/submit"
matrix_client_schildichat_show_lab_settings: true # noqa var-naming matrix_client_schildichat_show_lab_settings: true # noqa var-naming
# SchildiChat public room directory server(s)
# SchildiChat Web public room directory server(s)
matrix_client_schildichat_room_directory_servers: ['matrix.org'] matrix_client_schildichat_room_directory_servers: ['matrix.org']
# Branding of SchildiChat
# Branding of SchildiChat Web
matrix_client_schildichat_brand: "schildichat" matrix_client_schildichat_brand: "schildichat"


# URL to Logo on welcome page # URL to Logo on welcome page
@@ -171,7 +171,7 @@ matrix_client_schildichat_branding_welcome_background_url: ~ # noqa var-naming


matrix_client_schildichat_page_template_welcome_path: "{{ role_path }}/templates/welcome.html.j2" matrix_client_schildichat_page_template_welcome_path: "{{ role_path }}/templates/welcome.html.j2"


# By default, there's no SchildiChat homepage (when logged in). If you wish to have one,
# By default, there's no SchildiChat Web homepage (when logged in). If you wish to have one,
# point this to a `home.html` template file on your local filesystem. # point this to a `home.html` template file on your local filesystem.
matrix_client_schildichat_embedded_pages_home_path: ~ matrix_client_schildichat_embedded_pages_home_path: ~


@@ -189,7 +189,7 @@ matrix_client_schildichat_default_country_code: "GB"
# Controls whether presence will be enabled # Controls whether presence will be enabled
matrix_client_schildichat_enable_presence_by_hs_url: ~ matrix_client_schildichat_enable_presence_by_hs_url: ~


# Controls whether custom SchildiChat themes will be installed.
# Controls whether custom SchildiChat Web themes will be installed.
# When enabled, all themes found in the `matrix_client_schildichat_themes_repository_url` repository # When enabled, all themes found in the `matrix_client_schildichat_themes_repository_url` repository
# will be installed and enabled automatically. # will be installed and enabled automatically.
matrix_client_schildichat_themes_enabled: false matrix_client_schildichat_themes_enabled: false
@@ -199,16 +199,16 @@ matrix_client_schildichat_themes_repository_version: master
# Controls the default theme # Controls the default theme
matrix_client_schildichat_default_theme: 'light' matrix_client_schildichat_default_theme: 'light'


# Controls the `setting_defaults.custom_themes` setting of the SchildiChat configuration.
# Controls the `setting_defaults.custom_themes` setting of the SchildiChat Web configuration.
# You can use this setting to define custom themes. # You can use this setting to define custom themes.
# #
# Also, look at `matrix_client_schildichat_themes_enabled` for a way to pull in a bunch of custom themes automatically. # Also, look at `matrix_client_schildichat_themes_enabled` for a way to pull in a bunch of custom themes automatically.
# If you define your own themes here and set `matrix_client_schildichat_themes_enabled: true`, your themes will be preserved as well. # If you define your own themes here and set `matrix_client_schildichat_themes_enabled: true`, your themes will be preserved as well.
# #
# Note that for a custom theme to work well, all SchildiChat instances that you use must have the same theme installed.
# Note that for a custom theme to work well, all SchildiChat Web instances that you use must have the same theme installed.
matrix_client_schildichat_setting_defaults_custom_themes: [] # noqa var-naming matrix_client_schildichat_setting_defaults_custom_themes: [] # noqa var-naming


# Default SchildiChat configuration template which covers the generic use case.
# Default SchildiChat Web configuration template which covers the generic use case.
# You can customize it by controlling the various variables inside it. # You can customize it by controlling the various variables inside it.
# #
# For a more advanced customization, you can extend the default (see `matrix_client_schildichat_configuration_extension_json`) # For a more advanced customization, you can extend the default (see `matrix_client_schildichat_configuration_extension_json`)
@@ -218,7 +218,7 @@ matrix_client_schildichat_setting_defaults_custom_themes: [] # noqa var-naming
# This is unlike what it does when looking up YAML template files (no automatic parsing there). # This is unlike what it does when looking up YAML template files (no automatic parsing there).
matrix_client_schildichat_configuration_default: "{{ lookup('template', 'templates/config.json.j2') }}" matrix_client_schildichat_configuration_default: "{{ lookup('template', 'templates/config.json.j2') }}"


# Your custom JSON configuration for SchildiChat should go to `matrix_client_schildichat_configuration_extension_json`.
# Your custom JSON configuration for SchildiChat Web should go to `matrix_client_schildichat_configuration_extension_json`.
# This configuration extends the default starting configuration (`matrix_client_schildichat_configuration_default`). # This configuration extends the default starting configuration (`matrix_client_schildichat_configuration_default`).
# #
# You can override individual variables from the default configuration, or introduce new ones. # You can override individual variables from the default configuration, or introduce new ones.
@@ -237,7 +237,7 @@ matrix_client_schildichat_configuration_extension_json: '{}'


matrix_client_schildichat_configuration_extension: "{{ matrix_client_schildichat_configuration_extension_json | from_json if matrix_client_schildichat_configuration_extension_json | from_json is mapping else {} }}" matrix_client_schildichat_configuration_extension: "{{ matrix_client_schildichat_configuration_extension_json | from_json if matrix_client_schildichat_configuration_extension_json | from_json is mapping else {} }}"


# Holds the final SchildiChat configuration (a combination of the default and its extension).
# Holds the final SchildiChat Web configuration (a combination of the default and its extension).
# You most likely don't need to touch this variable. Instead, see `matrix_client_schildichat_configuration_default`. # You most likely don't need to touch this variable. Instead, see `matrix_client_schildichat_configuration_default`.
matrix_client_schildichat_configuration: "{{ matrix_client_schildichat_configuration_default | combine(matrix_client_schildichat_configuration_extension, recursive=True) }}" matrix_client_schildichat_configuration: "{{ matrix_client_schildichat_configuration_default | combine(matrix_client_schildichat_configuration_extension, recursive=True) }}"




+ 7
- 7
roles/custom/matrix-client-schildichat/tasks/prepare_themes.yml Просмотреть файл

@@ -1,7 +1,7 @@
--- ---


# #
# Tasks related to setting up SchildiChat themes
# Tasks related to setting up SchildiChat Web themes
# #


- when: matrix_client_schildichat_themes_enabled | bool - when: matrix_client_schildichat_themes_enabled | bool
@@ -9,35 +9,35 @@
delegate_to: 127.0.0.1 delegate_to: 127.0.0.1
become: false become: false
block: block:
- name: Ensure SchildiChat themes repository is pulled
- name: Ensure SchildiChat Web themes repository is pulled
ansible.builtin.git: ansible.builtin.git:
repo: "{{ matrix_client_schildichat_themes_repository_url }}" repo: "{{ matrix_client_schildichat_themes_repository_url }}"
version: "{{ matrix_client_schildichat_themes_repository_version }}" version: "{{ matrix_client_schildichat_themes_repository_version }}"
dest: "{{ role_path }}/files/scratchpad/themes" dest: "{{ role_path }}/files/scratchpad/themes"


- name: Find all SchildiChat theme files
- name: Find all SchildiChat Web theme files
ansible.builtin.find: ansible.builtin.find:
paths: "{{ role_path }}/files/scratchpad/themes" paths: "{{ role_path }}/files/scratchpad/themes"
patterns: "*.json" patterns: "*.json"
recurse: true recurse: true
register: matrix_client_schildichat_theme_file_list register: matrix_client_schildichat_theme_file_list


- name: Read SchildiChat theme
- name: Read SchildiChat Web theme
ansible.builtin.slurp: ansible.builtin.slurp:
path: "{{ item.path }}" path: "{{ item.path }}"
register: "matrix_client_schildichat_theme_file_contents" register: "matrix_client_schildichat_theme_file_contents"
with_items: "{{ matrix_client_schildichat_theme_file_list.files }}" with_items: "{{ matrix_client_schildichat_theme_file_list.files }}"


- name: Load SchildiChat theme
- name: Load SchildiChat Web theme
ansible.builtin.set_fact: ansible.builtin.set_fact:
matrix_client_schildichat_setting_defaults_custom_themes: "{{ matrix_client_schildichat_setting_defaults_custom_themes + [item['content'] | b64decode | from_json] }}" # noqa var-naming matrix_client_schildichat_setting_defaults_custom_themes: "{{ matrix_client_schildichat_setting_defaults_custom_themes + [item['content'] | b64decode | from_json] }}" # noqa var-naming
with_items: "{{ matrix_client_schildichat_theme_file_contents.results }}" with_items: "{{ matrix_client_schildichat_theme_file_contents.results }}"


# #
# Tasks related to getting rid of SchildiChat themes (if it was previously enabled)
# Tasks related to getting rid of SchildiChat Web themes (if it was previously enabled)
# #


- name: Ensure SchildiChat themes repository is removed
- name: Ensure SchildiChat Web themes repository is removed
ansible.builtin.file: ansible.builtin.file:
path: "{{ role_path }}/files/scratchpad/themes" path: "{{ role_path }}/files/scratchpad/themes"
state: absent state: absent


+ 5
- 5
roles/custom/matrix-client-schildichat/tasks/self_check.yml Просмотреть файл

@@ -3,7 +3,7 @@
- ansible.builtin.set_fact: - ansible.builtin.set_fact:
matrix_client_schildichat_url_endpoint_public: "{{ matrix_client_schildichat_scheme }}://{{ matrix_client_schildichat_hostname }}/config.json" matrix_client_schildichat_url_endpoint_public: "{{ matrix_client_schildichat_scheme }}://{{ matrix_client_schildichat_hostname }}/config.json"


- name: Check SchildiChat
- name: Check SchildiChat Web
ansible.builtin.uri: ansible.builtin.uri:
url: "{{ matrix_client_schildichat_url_endpoint_public }}" url: "{{ matrix_client_schildichat_url_endpoint_public }}"
follow_redirects: none follow_redirects: none
@@ -14,11 +14,11 @@
delegate_to: 127.0.0.1 delegate_to: 127.0.0.1
become: false become: false


- name: Fail if SchildiChat not working
- name: Fail if SchildiChat Web not working
ansible.builtin.fail: ansible.builtin.fail:
msg: "Failed checking SchildiChat is up at `{{ matrix_server_fqn_schildichat }}` (checked endpoint: `{{ matrix_client_schildichat_url_endpoint_public }}`). Is SchildiChat running? Is port 443 open in your firewall? Full error: {{ matrix_client_schildichat_self_check_result }}"
msg: "Failed checking SchildiChat Web is up at `{{ matrix_server_fqn_schildichat }}` (checked endpoint: `{{ matrix_client_schildichat_url_endpoint_public }}`). Is SchildiChat Web running? Is port 443 open in your firewall? Full error: {{ matrix_client_schildichat_self_check_result }}"
when: "matrix_client_schildichat_self_check_result.failed or 'json' not in matrix_client_schildichat_self_check_result" when: "matrix_client_schildichat_self_check_result.failed or 'json' not in matrix_client_schildichat_self_check_result"


- name: Report working SchildiChat
- name: Report working SchildiChat Web
ansible.builtin.debug: ansible.builtin.debug:
msg: "SchildiChat at `{{ matrix_server_fqn_schildichat }}` is working (checked endpoint: `{{ matrix_client_schildichat_url_endpoint_public }}`)"
msg: "SchildiChat Web at `{{ matrix_server_fqn_schildichat }}` is working (checked endpoint: `{{ matrix_client_schildichat_url_endpoint_public }}`)"

+ 8
- 8
roles/custom/matrix-client-schildichat/tasks/setup_install.yml Просмотреть файл

@@ -1,6 +1,6 @@
--- ---


- name: Ensure SchildiChat paths exists
- name: Ensure SchildiChat Web paths exists
ansible.builtin.file: ansible.builtin.file:
path: "{{ item.path }}" path: "{{ item.path }}"
state: directory state: directory
@@ -12,7 +12,7 @@
- {path: "{{ matrix_client_schildichat_docker_src_files_path }}", when: "{{ matrix_client_schildichat_container_image_self_build }}"} - {path: "{{ matrix_client_schildichat_docker_src_files_path }}", when: "{{ matrix_client_schildichat_container_image_self_build }}"}
when: "item.when | bool" when: "item.when | bool"


- name: Ensure SchildiChat Docker image is pulled
- name: Ensure SchildiChat Web Docker image is pulled
community.docker.docker_image: community.docker.docker_image:
name: "{{ matrix_client_schildichat_docker_image }}" name: "{{ matrix_client_schildichat_docker_image }}"
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
@@ -24,7 +24,7 @@
delay: "{{ devture_playbook_help_container_retries_delay }}" delay: "{{ devture_playbook_help_container_retries_delay }}"
until: result is not failed until: result is not failed


- name: Ensure SchildiChat repository is present on self-build
- name: Ensure SchildiChat Web repository is present on self-build
ansible.builtin.git: ansible.builtin.git:
repo: "{{ matrix_client_schildichat_container_image_self_build_repo }}" repo: "{{ matrix_client_schildichat_container_image_self_build_repo }}"
dest: "{{ matrix_client_schildichat_docker_src_files_path }}" dest: "{{ matrix_client_schildichat_docker_src_files_path }}"
@@ -49,7 +49,7 @@
mode: '0644' mode: '0644'
when: "matrix_client_schildichat_container_image_self_build | bool and matrix_client_schildichat_container_image_self_build_low_memory_system_patch_enabled | bool" when: "matrix_client_schildichat_container_image_self_build | bool and matrix_client_schildichat_container_image_self_build_low_memory_system_patch_enabled | bool"


- name: Ensure SchildiChat Docker image is built
- name: Ensure SchildiChat Web Docker image is built
ansible.builtin.command: ansible.builtin.command:
cmd: |- cmd: |-
{{ devture_systemd_docker_base_host_command_docker }} buildx build {{ devture_systemd_docker_base_host_command_docker }} buildx build
@@ -59,7 +59,7 @@
changed_when: true changed_when: true
when: matrix_client_schildichat_container_image_self_build | bool when: matrix_client_schildichat_container_image_self_build | bool


- name: Ensure SchildiChat configuration installed
- name: Ensure SchildiChat Web configuration installed
ansible.builtin.copy: ansible.builtin.copy:
content: "{{ matrix_client_schildichat_configuration | to_nice_json }}" content: "{{ matrix_client_schildichat_configuration | to_nice_json }}"
dest: "{{ matrix_client_schildichat_data_path }}/config.json" dest: "{{ matrix_client_schildichat_data_path }}/config.json"
@@ -76,7 +76,7 @@
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}" group: "{{ matrix_user_groupname }}"


- name: Ensure SchildiChat config files installed
- name: Ensure SchildiChat Web config files installed
ansible.builtin.template: ansible.builtin.template:
src: "{{ item.src }}" src: "{{ item.src }}"
dest: "{{ matrix_client_schildichat_data_path }}/{{ item.name }}" dest: "{{ matrix_client_schildichat_data_path }}/{{ item.name }}"
@@ -89,7 +89,7 @@
- {src: "{{ matrix_client_schildichat_embedded_pages_home_path }}", name: "home.html"} - {src: "{{ matrix_client_schildichat_embedded_pages_home_path }}", name: "home.html"}
when: "item.src is not none" when: "item.src is not none"


- name: Ensure SchildiChat config files removed
- name: Ensure SchildiChat Web config files removed
ansible.builtin.file: ansible.builtin.file:
path: "{{ matrix_client_schildichat_data_path }}/{{ item.name }}" path: "{{ matrix_client_schildichat_data_path }}/{{ item.name }}"
state: absent state: absent
@@ -97,7 +97,7 @@
- {src: "{{ matrix_client_schildichat_embedded_pages_home_path }}", name: "home.html"} - {src: "{{ matrix_client_schildichat_embedded_pages_home_path }}", name: "home.html"}
when: "item.src is none" when: "item.src is none"


- name: Ensure SchildiChat container network is created
- name: Ensure SchildiChat Web container network is created
community.general.docker_network: community.general.docker_network:
enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}"
name: "{{ matrix_client_schildichat_container_network }}" name: "{{ matrix_client_schildichat_container_network }}"


+ 1
- 1
roles/custom/matrix-client-schildichat/tasks/setup_uninstall.yml Просмотреть файл

@@ -19,7 +19,7 @@
path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-client-schildichat.service" path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-client-schildichat.service"
state: absent state: absent


- name: Ensure SchildiChat path doesn't exist
- name: Ensure SchildiChat Web path doesn't exist
ansible.builtin.file: ansible.builtin.file:
path: "{{ matrix_client_schildichat_data_path }}" path: "{{ matrix_client_schildichat_data_path }}"
state: absent state: absent

+ 3
- 3
roles/custom/matrix-client-schildichat/tasks/validate_config.yml Просмотреть файл

@@ -1,6 +1,6 @@
--- ---


- name: (Deprecation) Catch and report renamed Schildichat settings
- name: (Deprecation) Catch and report renamed SchildiChat Web settings
ansible.builtin.fail: ansible.builtin.fail:
msg: >- msg: >-
Your configuration contains a variable, which now has a different name. Your configuration contains a variable, which now has a different name.
@@ -9,10 +9,10 @@
with_items: with_items:
- {'old': 'matrix_client_schildichat_welcome_user_id', 'new': '<removed>'} - {'old': 'matrix_client_schildichat_welcome_user_id', 'new': '<removed>'}


- name: Fail if required SchildiChat settings not defined
- name: Fail if required SchildiChat Web settings not defined
ansible.builtin.fail: ansible.builtin.fail:
msg: > msg: >
You need to define a required configuration setting (`{{ item }}`) for using SchildiChat.
You need to define a required configuration setting (`{{ item }}`) for using SchildiChat Web.
when: "vars[item] == ''" when: "vars[item] == ''"
with_items: with_items:
- matrix_client_schildichat_default_hs_url - matrix_client_schildichat_default_hs_url


+ 1
- 1
roles/custom/matrix-client-schildichat/templates/systemd/matrix-client-schildichat.service.j2 Просмотреть файл

@@ -1,6 +1,6 @@
#jinja2: lstrip_blocks: "True" #jinja2: lstrip_blocks: "True"
[Unit] [Unit]
Description=Matrix SchildiChat server
Description=Matrix SchildiChat Web server
{% for service in matrix_client_schildichat_systemd_required_services_list %} {% for service in matrix_client_schildichat_systemd_required_services_list %}
Requires={{ service }} Requires={{ service }}
After={{ service }} After={{ service }}


Загрузка…
Отмена
Сохранить