mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-07-15 03:02:32 +03:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7bf93368a0 |
@@ -1,13 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2025 Jonah Aragon
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
FROM ghcr.io/devture/ansible:11.6.0-r0-0
|
||||
|
||||
# Install additional packages
|
||||
RUN apk add --no-cache \
|
||||
pwgen
|
||||
|
||||
# Preserve command history across container restarts
|
||||
RUN SNIPPET="export HISTFILE=/commandhistory/.ash_history" \
|
||||
&& echo "$SNIPPET" >> "/root/.profile"
|
||||
@@ -1,27 +0,0 @@
|
||||
{
|
||||
"name": "matrix-docker-ansible-deploy",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile",
|
||||
"context": ".."
|
||||
},
|
||||
"postCreateCommand": {
|
||||
"Fix Volume Permissions": "chown -R $(whoami): /commandhistory"
|
||||
},
|
||||
"mounts": [
|
||||
{
|
||||
"source": "matrix-docker-ansible-deploy-bashhistory",
|
||||
"target": "/commandhistory",
|
||||
"type": "volume"
|
||||
}
|
||||
],
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"EditorConfig.EditorConfig",
|
||||
"redhat.ansible",
|
||||
"redhat.vscode-yaml",
|
||||
"ms-python.python"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
SPDX-FileCopyrightText: 2025 Jonah Aragon
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
@@ -32,18 +32,6 @@
|
||||
"dock.mau.dev/mautrix/**"
|
||||
],
|
||||
"allowedVersions": "/^v0\\./"
|
||||
},
|
||||
{
|
||||
"matchFileNames": [
|
||||
".github/workflows/close-stale-issues.yml",
|
||||
".github/workflows/lock-threads.yml",
|
||||
".github/workflows/matrix.yml",
|
||||
".github/workflows/update-translations.yml",
|
||||
"flake.lock",
|
||||
"i18n/requirements.txt",
|
||||
"mise.toml"
|
||||
],
|
||||
"automerge": true
|
||||
}
|
||||
],
|
||||
"pre-commit": {
|
||||
|
||||
@@ -1,35 +1,3 @@
|
||||
# 2026-07-14
|
||||
|
||||
## The playbook no longer ships a custom welcome page for Element Web
|
||||
|
||||
Element Web [redesigned its welcome page](https://github.com/element-hq/element-web/pull/33211) (the screen shown at `/#/welcome` before logging in) into a built-in component and no longer loads a custom `welcome.html` file by default. Since the playbook upgraded to an Element Web version containing that change (spring 2026), the custom welcome page the playbook installed (and the variables customizing it) had silently stopped having any effect.
|
||||
|
||||
The playbook now embraces the new upstream behavior and no longer ships its own `welcome.html`. The following variables have been removed and the playbook will let you know if you're still using them: `matrix_client_element_welcome_headline`, `matrix_client_element_welcome_text`, `matrix_client_element_welcome_logo_link` and `matrix_client_element_page_template_welcome_path`.
|
||||
|
||||
Most welcome page customizations keep working, because they go through Element Web's branding configuration, which the new welcome page still honors:
|
||||
|
||||
- a custom logo, via `matrix_client_element_welcome_logo` (or `matrix_client_element_branding_auth_header_logo_url`)
|
||||
- a custom background, via `matrix_client_element_branding_welcome_background_url`
|
||||
|
||||
If you need a fully custom welcome page, you can self-host an HTML page and point Element Web at it, like this:
|
||||
|
||||
```yaml
|
||||
matrix_client_element_configuration_extension_json: |
|
||||
{
|
||||
"embedded_pages": {
|
||||
"welcome_url": "https://example.com/my-welcome.html"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## BorgBackup now includes Synapse's local thumbnails
|
||||
|
||||
For Synapse servers, the built-in [BorgBackup](./docs/configuring-playbook-backup-borg.md) integration no longer excludes the media store's `local_thumbnails` directory from backups.
|
||||
|
||||
Synapse only generates thumbnails of local media at upload time (unless `dynamic_thumbnails` is enabled, which the playbook does not do), and there is no tooling to regenerate them. Restoring a backup made with the previous exclusion list therefore left all previously uploaded local images without thumbnails. The [official Synapse backup guide](https://element-hq.github.io/synapse/latest/usage/administration/backups.html) recommends backing this directory up, and the playbook now follows that recommendation.
|
||||
|
||||
Expect your backups to grow somewhat, depending on how much image media your local users have uploaded. If you prefer the old behavior, you can redefine `backup_borg_location_exclude_patterns` in your `vars.yml`.
|
||||
|
||||
# 2026-07-12
|
||||
|
||||
## matrix-registration-bot has been removed from the playbook
|
||||
|
||||
@@ -50,8 +50,6 @@ This ensures that:
|
||||
|
||||
You can either [run Ansible in a container on the Matrix server itself](#running-ansible-in-a-container-on-the-matrix-server-itself) or [run Ansible in a container on another computer (not the Matrix server)](#running-ansible-in-a-container-on-another-computer-not-the-matrix-server).
|
||||
|
||||
💡 If you use [Visual Studio Code](https://code.visualstudio.com/) or [GitHub Codespaces](https://github.com/features/codespaces), the playbook also ships a [dev container](https://containers.dev/) configuration (see the `.devcontainer/` directory) based on this same Ansible Docker image, which can prepare such a containerized Ansible environment for you automatically.
|
||||
|
||||
### Running Ansible in a container on the Matrix server itself
|
||||
|
||||
To run Ansible in a (Docker) container on the Matrix server itself, you need to have a working Docker installation. Docker is normally installed by the playbook, so this may be a bit of a chicken and egg problem. To solve it:
|
||||
|
||||
@@ -112,9 +112,7 @@ This option is less fragile and generally better.
|
||||
|
||||
On the base domain's server (e.g. `example.com`), you can set up reverse-proxying (or simply a 302 redirect), so that any access for the `/.well-known/matrix` location prefix is forwarded to the Matrix domain's server (e.g. `matrix.example.com`).
|
||||
|
||||
With reverse-proxying, you **don't need** to add special HTTP headers for [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) reasons (like `Access-Control-Allow-Origin`), because your Matrix server (where requests ultimately go) will be configured by this playbook correctly.
|
||||
|
||||
If you use a 302 redirect instead, be aware that browsers apply CORS checks to every response in the redirect chain, so the redirect response itself must also carry an `Access-Control-Allow-Origin: *` header. Otherwise, web-based Matrix clients (like Element Web) may fail to work even though the final destination sets the header correctly.
|
||||
With this method, you **don't need** to add special HTTP headers for [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) reasons (like `Access-Control-Allow-Origin`), because your Matrix server (where requests ultimately go) will be configured by this playbook correctly.
|
||||
|
||||
**For nginx**, it would be something like this:
|
||||
|
||||
@@ -157,23 +155,6 @@ example.com {
|
||||
}
|
||||
```
|
||||
|
||||
**Note**: Caddy does not process directives in the order they appear in the Caddyfile, but according to its own [directive order](https://caddyserver.com/docs/caddyfile/directives#directive-order). Notably, `redir` is evaluated before `reverse_proxy`, so a `redir` elsewhere in the same site block (a common way to send the base domain to `www.example.com` or to another site) takes precedence and breaks the well-known reverse-proxying. In such cases, wrap the directives in [`handle`](https://caddyserver.com/docs/caddyfile/directives/handle) blocks to enforce the intended priority:
|
||||
|
||||
```caddy
|
||||
example.com {
|
||||
handle /.well-known/matrix/* {
|
||||
reverse_proxy https://matrix.example.com {
|
||||
header_up Host {upstream_hostport}
|
||||
}
|
||||
}
|
||||
|
||||
handle {
|
||||
# Everything else, e.g. a redirect to some other site
|
||||
redir https://www.example.com{uri}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**For HAProxy**, it would be something like this:
|
||||
|
||||
```haproxy
|
||||
|
||||
@@ -49,8 +49,8 @@ This is because the Matrix specification expects the federation endpoint to be s
|
||||
```yaml
|
||||
# To let Traefik know which domains' certificates to serve
|
||||
matrix_synapse_container_labels_additional_labels: |
|
||||
traefik.http.routers.matrix-synapse-public-federation-api.tls.domains.main="example.com"
|
||||
traefik.http.routers.matrix-synapse-public-federation-api.tls.domains.sans="*.example.com"
|
||||
traefik.http.routers.matrix-synapse-federation-api.tls.domains.main="example.com"
|
||||
traefik.http.routers.matrix-synapse-federation-api.tls.domains.sans="*.example.com"
|
||||
```
|
||||
|
||||
### Configure the DNS-01 challenge for let's encrypt
|
||||
@@ -137,8 +137,8 @@ matrix_synapse_container_labels_public_federation_api_traefik_rule: PathPrefix(`
|
||||
|
||||
# To let Traefik know which domains' certificates to serve
|
||||
matrix_synapse_container_labels_additional_labels: |
|
||||
traefik.http.routers.matrix-synapse-public-federation-api.tls.domains.main="example.com"
|
||||
traefik.http.routers.matrix-synapse-public-federation-api.tls.domains.sans="*.example.com"
|
||||
traefik.http.routers.matrix-synapse-federation-api.tls.domains.main="example.com"
|
||||
traefik.http.routers.matrix-synapse-federation-api.tls.domains.sans="*.example.com"
|
||||
|
||||
# Add a new ACME configuration without having to disable the default one, since it would have a wide range of side effects
|
||||
traefik_configuration_extension_yaml: |
|
||||
|
||||
@@ -25,11 +25,6 @@ The migration might be a good moment, to "reset" a not properly working bridge.
|
||||
|
||||
Before doing the actual import, **you need to upload your Postgres dump file to the server** (any path is okay).
|
||||
|
||||
> [!WARNING]
|
||||
> Do not import into a database that already contains tables (e.g. one that a service has already initialized and used). As the [official Synapse backup guide](https://element-hq.github.io/synapse/latest/usage/administration/backups.html) puts it: at best this will error, at worst it will lead to subtle database inconsistencies. Import into an empty (freshly created) database instead.
|
||||
|
||||
**Note for Synapse users restoring an older backup**: if the server kept running (and users kept chatting) after the backup you are restoring was made, truncate the `e2e_one_time_keys_json` table after importing and before starting Synapse. Restoring an older backup can otherwise cause already-used one-time keys to be re-issued, leading to message decryption errors for your users. You can do this by [getting a database terminal](maintenance-postgres.md#getting-a-database-terminal), connecting to the Synapse database (`\c synapse`) and running `TRUNCATE e2e_one_time_keys_json;`. Clients will generate and upload fresh one-time keys automatically.
|
||||
|
||||
## Importing
|
||||
|
||||
To import, run this command (make sure to replace `SERVER_PATH_TO_POSTGRES_DUMP_FILE` with a file path on your server):
|
||||
|
||||
@@ -13,8 +13,6 @@ You can manually import your `media_store` files from a previous installation of
|
||||
|
||||
Before doing the actual data restore, **you need to upload your media store directory to the server** (any path is okay).
|
||||
|
||||
You also need the [rsync](https://rsync.samba.org/) utility installed **on the server**, as the import performs a server-side `rsync` synchronization. The playbook does not install it for you. On most distributions, it is available as a package called `rsync`.
|
||||
|
||||
If you are [storing Matrix media files on Amazon S3](configuring-playbook-s3.md) (optional), restoring with this tool is not possible right now.
|
||||
|
||||
As an alternative, you can perform a manual restore using the [AWS CLI tool](https://aws.amazon.com/cli/) (e.g. `aws s3 sync /path/to/server/media_store/. s3://name-of-bucket/`)
|
||||
|
||||
@@ -76,8 +76,6 @@ If you are using an [external Postgres server](configuring-playbook-external-pos
|
||||
|
||||
Restoring a backup made this way can be done by [importing it](importing-postgres.md).
|
||||
|
||||
**Note for Synapse users**: the [official Synapse backup guide](https://element-hq.github.io/synapse/latest/usage/administration/backups.html) recommends that the `e2e_one_time_keys_json` table either not be backed up, or be truncated after restoring (before Synapse is started). The full-server dump command above does include it, so if you ever restore a backup that is older than the server's current state, remember to truncate that table as described in [the importing guide](importing-postgres.md).
|
||||
|
||||
## Upgrading PostgreSQL
|
||||
|
||||
Unless you are using an [external Postgres server](configuring-playbook-external-postgres.md), this playbook initially installs Postgres for you.
|
||||
|
||||
@@ -105,9 +105,6 @@ Cache autotuning is **enabled by default** and controlled via the following vari
|
||||
|
||||
You can **learn more about cache-autotuning and the global cache factor settings** in the [Synapse's documentation on caches and associated values](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values).
|
||||
|
||||
> [!NOTE]
|
||||
> These limits apply **per Synapse process**. If you have [workers](configuring-playbook-synapse.md#load-balancing-with-workers) enabled, the main process and every worker each apply the configured limits independently, so the theoretical aggregate cache memory usage gets multiplied by the number of processes. When running many workers on a memory-constrained server, consider setting these variables to lower, explicitly chosen values.
|
||||
|
||||
To **disable cache auto-tuning**, unset all values:
|
||||
|
||||
```yaml
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
};
|
||||
agru = pkgs.buildGo125Module {
|
||||
pname = "agru";
|
||||
version = "0.2.1";
|
||||
version = "0.1.19";
|
||||
src = agru-src;
|
||||
vendorHash = null;
|
||||
};
|
||||
|
||||
@@ -3378,11 +3378,9 @@ backup_borg_postgresql_databases_auto: "{{ postgres_managed_databases | map(attr
|
||||
backup_borg_location_source_directories:
|
||||
- "{{ matrix_base_data_path }}"
|
||||
|
||||
# local_thumbnails is deliberately NOT excluded: with dynamic_thumbnails disabled (Synapse's default),
|
||||
# nothing regenerates lost thumbnails, so the official Synapse backup guide recommends backing them up.
|
||||
backup_borg_location_exclude_patterns: |
|
||||
{{
|
||||
([matrix_synapse_media_store_path + '/remote_content', matrix_synapse_media_store_path + '/remote_thumbnail', matrix_synapse_media_store_path + '/url_cache', matrix_synapse_media_store_path + '/url_cache_thumbnails'] if matrix_homeserver_implementation == 'synapse' else [])
|
||||
([matrix_synapse_media_store_path + '/remote_content', matrix_synapse_media_store_path + '/local_thumbnails', matrix_synapse_media_store_path + '/remote_thumbnail', matrix_synapse_media_store_path + '/url_cache', matrix_synapse_media_store_path + '/url_cache_thumbnails'] if matrix_homeserver_implementation == 'synapse' else [])
|
||||
+
|
||||
([postgres_data_path] if postgres_enabled else [])
|
||||
}}
|
||||
@@ -3837,9 +3835,7 @@ jitsi_turns_port: "{{ coturn_container_stun_tls_host_bind_port_tcp.split(':')[-1
|
||||
# Falls back to the scalar.vector.im etherpad in case someone sets `jitsi_etherpad_enabled` to true,
|
||||
# while also setting `etherpad_enabled` to false.
|
||||
jitsi_etherpad_enabled: "{{ etherpad_enabled }}"
|
||||
# The trailing slash is stripped, because the Jitsi role appends path segments (e.g. `/p/`) itself
|
||||
# and `etherpad_base_url` ends with a slash, which would otherwise produce double-slash URLs.
|
||||
jitsi_etherpad_base: "{{ (etherpad_base_url | regex_replace('/+$', '')) if etherpad_enabled else 'https://scalar.vector.im/etherpad' }}"
|
||||
jitsi_etherpad_base: "{{ etherpad_base_url if etherpad_enabled else 'https://scalar.vector.im/etherpad' }}"
|
||||
|
||||
# Allow verification using JWT and matrix-UVS
|
||||
jitsi_prosody_auth_matrix_uvs_sync_power_levels: "{{ matrix_user_verification_service_enabled }}"
|
||||
@@ -4252,7 +4248,6 @@ postgres_managed_databases_auto: |
|
||||
'name': prometheus_postgres_exporter_database_name,
|
||||
'username': prometheus_postgres_exporter_database_username,
|
||||
'password': prometheus_postgres_exporter_database_password,
|
||||
'additional_sql_queries': ['GRANT pg_monitor TO "' + prometheus_postgres_exporter_database_username + '";'],
|
||||
}] if (prometheus_postgres_exporter_enabled and prometheus_postgres_exporter_database_hostname == postgres_connection_hostname) else [])
|
||||
+
|
||||
([{
|
||||
@@ -5504,7 +5499,7 @@ grafana_provisioning_datasources_datasources: |
|
||||
}] if prometheus_enabled else [])
|
||||
}}
|
||||
|
||||
grafana_dashboard_download_urls_auto: |
|
||||
grafana_dashboard_download_urls: |
|
||||
{{
|
||||
(matrix_synapse_grafana_dashboard_urls if matrix_homeserver_implementation == 'synapse' and matrix_synapse_metrics_enabled else [])
|
||||
+
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: matrix-docker-ansible-deploy \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-12 15:37+0000\n"
|
||||
"POT-Creation-Date: 2026-07-12 11:50+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -288,23 +288,11 @@ msgstr ""
|
||||
msgid "[Link](docs/configuring-playbook-client-fluffychat-web.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:0
|
||||
msgid "[Commet](https://github.com/commetchat/commet)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:0
|
||||
msgid "Matrix web client"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:0
|
||||
msgid "[Link](docs/configuring-playbook-client-commet.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:73
|
||||
#: ../../../README.md:72
|
||||
msgid "Server Components"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:75
|
||||
#: ../../../README.md:74
|
||||
msgid "Services that run on the server to make the various parts of your installation work."
|
||||
msgstr ""
|
||||
|
||||
@@ -392,11 +380,11 @@ msgstr ""
|
||||
msgid "[Link](docs/configuring-playbook-matrix-rtc.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:87
|
||||
#: ../../../README.md:86
|
||||
msgid "Authentication"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:89
|
||||
#: ../../../README.md:88
|
||||
msgid "Extend and modify how users are authenticated on your homeserver."
|
||||
msgstr ""
|
||||
|
||||
@@ -460,11 +448,11 @@ msgstr ""
|
||||
msgid "[Link](docs/configuring-playbook-synapse-simple-antispam.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:99
|
||||
#: ../../../README.md:98
|
||||
msgid "File Storage"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:101
|
||||
#: ../../../README.md:100
|
||||
msgid "Use alternative file storage to the default `media_store` folder."
|
||||
msgstr ""
|
||||
|
||||
@@ -500,11 +488,11 @@ msgstr ""
|
||||
msgid "[Link](docs/configuring-playbook-matrix-media-repo.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:109
|
||||
#: ../../../README.md:108
|
||||
msgid "Bridges"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:111
|
||||
#: ../../../README.md:110
|
||||
msgid "Bridges can be used to connect your Matrix installation with third-party communication networks."
|
||||
msgstr ""
|
||||
|
||||
@@ -808,11 +796,11 @@ msgstr ""
|
||||
msgid "[Link](docs/configuring-playbook-bridge-postmoogle.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:141
|
||||
#: ../../../README.md:140
|
||||
msgid "Bots"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:143
|
||||
#: ../../../README.md:142
|
||||
msgid "Bots provide various additional functionality to your installation."
|
||||
msgstr ""
|
||||
|
||||
@@ -900,11 +888,11 @@ msgstr ""
|
||||
msgid "[Link](docs/configuring-playbook-bot-buscarron.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:155
|
||||
#: ../../../README.md:154
|
||||
msgid "Administration"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:157
|
||||
#: ../../../README.md:156
|
||||
msgid "Services that help you in administrating and monitoring your Matrix installation."
|
||||
msgstr ""
|
||||
|
||||
@@ -992,11 +980,11 @@ msgstr ""
|
||||
msgid "[Link](docs/configuring-playbook-synapse-usage-exporter.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:169
|
||||
#: ../../../README.md:168
|
||||
msgid "Misc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:171
|
||||
#: ../../../README.md:170
|
||||
msgid "Various services that don't fit any other categories."
|
||||
msgstr ""
|
||||
|
||||
@@ -1120,54 +1108,54 @@ msgstr ""
|
||||
msgid "[Link](docs/configuring-playbook-element-call.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:186
|
||||
#: ../../../README.md:185
|
||||
msgid "🆕 Changes"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:188
|
||||
#: ../../../README.md:187
|
||||
msgid "This playbook evolves over time, sometimes with backward-incompatible changes."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:190
|
||||
#: ../../../README.md:189
|
||||
msgid "When updating the playbook, refer to [the changelog](CHANGELOG.md) to catch up with what's new."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:192
|
||||
#: ../../../README.md:191
|
||||
msgid "🆘 Support"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:194
|
||||
#: ../../../README.md:193
|
||||
msgid "Matrix room: [#matrix-docker-ansible-deploy:devture.com](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:196
|
||||
#: ../../../README.md:195
|
||||
msgid "IRC channel: `#matrix-docker-ansible-deploy` on the [Libera Chat](https://libera.chat/) IRC network (irc.libera.chat:6697)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:198
|
||||
#: ../../../README.md:197
|
||||
msgid "GitHub issues: [spantaleev/matrix-docker-ansible-deploy/issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:200
|
||||
#: ../../../README.md:199
|
||||
msgid "🌐 Translation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:202
|
||||
#: ../../../README.md:201
|
||||
msgid "See the [i18n/README.md](i18n/README.md) file for more information about translation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:204
|
||||
#: ../../../README.md:203
|
||||
msgid "Translations are still work in progress."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:206
|
||||
#: ../../../README.md:205
|
||||
msgid "🤝 Related"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:208
|
||||
#: ../../../README.md:207
|
||||
msgid "You may also be interested in [mash-playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) - another Ansible playbook for self-hosting non-Matrix services (see its [List of supported services](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md))."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../README.md:210
|
||||
#: ../../../README.md:209
|
||||
msgid "mash-playbook also makes use of [Traefik](./docs/configuring-playbook-traefik.md) as its reverse-proxy, so with minor [interoperability adjustments](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/interoperability.md), you can make matrix-docker-ansible-deploy and mash-playbook co-exist and host Matrix and non-Matrix services on the same server."
|
||||
msgstr ""
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: matrix-docker-ansible-deploy \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-12 15:37+0000\n"
|
||||
"POT-Creation-Date: 2026-05-19 07:40+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -101,96 +101,92 @@ msgid "You can either [run Ansible in a container on the Matrix server itself](#
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:53
|
||||
msgid "💡 If you use [Visual Studio Code](https://code.visualstudio.com/) or [GitHub Codespaces](https://github.com/features/codespaces), the playbook also ships a [dev container](https://containers.dev/) configuration (see the `.devcontainer/` directory) based on this same Ansible Docker image, which can prepare such a containerized Ansible environment for you automatically."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:55
|
||||
msgid "Running Ansible in a container on the Matrix server itself"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:57
|
||||
#: ../../../docs/ansible.md:55
|
||||
msgid "To run Ansible in a (Docker) container on the Matrix server itself, you need to have a working Docker installation. Docker is normally installed by the playbook, so this may be a bit of a chicken and egg problem. To solve it:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:59
|
||||
#: ../../../docs/ansible.md:57
|
||||
msgid "you **either** need to install Docker manually first. Follow [the upstream instructions](https://docs.docker.com/engine/install/) for your distribution and consider setting `matrix_playbook_docker_installation_enabled: false` in your `vars.yml` file, to prevent the playbook from installing Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:60
|
||||
#: ../../../docs/ansible.md:58
|
||||
msgid "**or** you need to run the playbook in another way (e.g. [Running Ansible in a container on another computer (not the Matrix server)](#running-ansible-in-a-container-on-another-computer-not-the-matrix-server)) at least the first time around"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:62
|
||||
#: ../../../docs/ansible.md:60
|
||||
msgid "Once you have a working Docker installation on the server, **clone the playbook** somewhere on the server and configure it as per usual (`inventory/hosts`, `inventory/host_vars/…`, etc.), as described in [configuring the playbook](configuring-playbook.md)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:64
|
||||
#: ../../../docs/ansible.md:62
|
||||
msgid "You would then need to add `ansible_connection=community.docker.nsenter` to the host line in `inventory/hosts`. This tells Ansible to connect to the \"remote\" machine by switching Linux namespaces with [nsenter](https://man7.org/linux/man-pages/man1/nsenter.1.html), instead of using SSH."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:66
|
||||
#: ../../../docs/ansible.md:64
|
||||
msgid "Alternatively, you can leave your `inventory/hosts` as is and specify the connection type in **each** `ansible-playbook` call you do later, like this: `just install-all --connection=community.docker.nsenter` (or `ansible-playbook --connection=community.docker.nsenter …`)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:68
|
||||
#: ../../../docs/ansible.md:90
|
||||
#: ../../../docs/ansible.md:66
|
||||
#: ../../../docs/ansible.md:88
|
||||
msgid "Run this from the playbook's directory:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:80
|
||||
#: ../../../docs/ansible.md:103
|
||||
msgid "Once you execute the above command, you'll be dropped into a `/work` directory inside a Docker container. The `/work` directory contains the playbook's code."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:82
|
||||
#: ../../../docs/ansible.md:105
|
||||
msgid "Once you execute the above command, you'll be dropped into a `/work` directory inside a Docker container. The `/work` directory contains the playbook's code."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:84
|
||||
#: ../../../docs/ansible.md:107
|
||||
msgid "First, consider running `git config --global --add safe.directory /work` to [resolve directory ownership issues](#resolve-directory-ownership-issues)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:86
|
||||
#: ../../../docs/ansible.md:84
|
||||
msgid "Finally, you can execute `just` or `ansible-playbook …` (e.g. `ansible-playbook --connection=community.docker.nsenter …`) commands as per normal now."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:88
|
||||
#: ../../../docs/ansible.md:86
|
||||
msgid "Running Ansible in a container on another computer (not the Matrix server)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:103
|
||||
#: ../../../docs/ansible.md:101
|
||||
msgid "The above command tries to mount an SSH key (`$HOME/.ssh/id_ed25519`) into the container (at `/root/.ssh/id_ed25519`). If your SSH key is at a different path (not in `$HOME/.ssh/id_ed25519`), adjust that part."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:109
|
||||
#: ../../../docs/ansible.md:107
|
||||
msgid "Finally, you execute `just` or `ansible-playbook …` commands as per normal now."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:111
|
||||
#: ../../../docs/ansible.md:109
|
||||
msgid "If you don't use SSH keys for authentication"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:113
|
||||
#: ../../../docs/ansible.md:111
|
||||
msgid "If you don't use SSH keys for authentication, simply remove that whole line (`--mount type=bind,src$HOME/.ssh/id_ed25519,dst=/root/.ssh/id_ed25519,ro`)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:115
|
||||
#: ../../../docs/ansible.md:113
|
||||
msgid "To authenticate at your server using a password, you need to add a package. So, when you are in the shell of the ansible docker container (the previously used `docker run -it …` command), run:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:121
|
||||
#: ../../../docs/ansible.md:119
|
||||
msgid "Then, to be asked for the password whenever running an `ansible-playbook` command add `--ask-pass` to the arguments of the command."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:123
|
||||
#: ../../../docs/ansible.md:121
|
||||
msgid "Resolve directory ownership issues"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:125
|
||||
#: ../../../docs/ansible.md:123
|
||||
msgid "Because you're `root` in the container running Ansible and this likely differs from the owner (your regular user account) of the playbook directory outside of the container, certain playbook features which use `git` locally may report warnings such as:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:127
|
||||
#: ../../../docs/ansible.md:125
|
||||
msgid "fatal: unsafe repository ('/work' is owned by someone else) To add an exception for this directory, call: git config --global --add safe.directory /work"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/ansible.md:131
|
||||
#: ../../../docs/ansible.md:129
|
||||
msgid "These errors can be resolved by making `git` trust the playbook directory by running `git config --global --add safe.directory /work`"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,141 +0,0 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018-2026, Slavi Pantaleev, Aine Etke, MDAD community members
|
||||
# This file is distributed under the same license as the matrix-docker-ansible-deploy package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: matrix-docker-ansible-deploy \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-12 15:37+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:7
|
||||
msgid "Setting up Commet (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:9
|
||||
msgid "The playbook can install and configure the [Commet](https://github.com/commetchat/commet) Matrix web client for you."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:11
|
||||
msgid "Adjusting DNS records"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:13
|
||||
msgid "By default, this playbook installs Commet on the `commet.` subdomain (`commet.example.com`) and requires you to create a CNAME record for `commet`, which targets `matrix.example.com`."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:15
|
||||
msgid "When setting, replace `example.com` with your own."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:17
|
||||
msgid "Adjusting the playbook configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:19
|
||||
msgid "To enable Commet, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:25
|
||||
msgid "Adjusting the Commet URL (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:27
|
||||
msgid "By tweaking the `matrix_client_commet_hostname` and `matrix_client_commet_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:29
|
||||
msgid "Example additional configuration for your `vars.yml` file:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:40
|
||||
msgid "After changing the domain, **you may need to adjust your DNS** records to point the Commet domain to the Matrix server."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:42
|
||||
msgid "If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:44
|
||||
msgid "**Note**: `matrix_client_commet_path_prefix` must either be `/` or not end with a slash (e.g. `/commet`)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:46
|
||||
msgid "Adjusting the default homeserver (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:48
|
||||
msgid "Commet is configured with a `default_homeserver` value. By default, the playbook uses `matrix.org`."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:50
|
||||
msgid "To change it, add the following configuration to your `vars.yml` file:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:56
|
||||
msgid "Adjusting the Commet version/branch to build (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:58
|
||||
msgid "When self-building the container image (`matrix_client_commet_container_image_self_build: true`), the playbook checks out the Commet source repository and builds an image from it."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:60
|
||||
msgid "To build from a different git branch/tag/SHA, set `matrix_client_commet_version` in your `vars.yml` file:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:67
|
||||
msgid "**Note**: by default, the image tag is derived from `matrix_client_commet_version` (`localhost/matrix-client-commet:{{ matrix_client_commet_version }}`). If your branch name contains `/` (e.g. `feature/foo`), override `matrix_client_commet_container_image` (and optionally `matrix_client_commet_container_image_self_build_version_tag`) to a Docker-tag-safe value."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:69
|
||||
msgid "Extending the configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:71
|
||||
msgid "There are some additional things you may wish to configure about the component."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:73
|
||||
msgid "Take a look at:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:75
|
||||
msgid "`roles/custom/matrix-client-commet/defaults/main.yml` for some variables that you can customize via your `vars.yml` file"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:76
|
||||
msgid "`roles/custom/matrix-client-commet/templates/global_config.json.j2` for the component's default runtime configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:78
|
||||
msgid "Installing"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:80
|
||||
msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:87
|
||||
msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:89
|
||||
msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:91
|
||||
msgid "Troubleshooting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook-client-commet.md:93
|
||||
msgid "As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-client-commet`."
|
||||
msgstr ""
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: matrix-docker-ansible-deploy \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-12 15:37+0000\n"
|
||||
"POT-Creation-Date: 2026-07-12 11:50+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -184,414 +184,410 @@ msgstr ""
|
||||
msgid "[Setting up FluffyChat Web](configuring-playbook-client-fluffychat-web.md), if you've enabled [FluffyChat Web](https://github.com/krille-chan/fluffychat), a cute cross-platform messenger (web, iOS, Android) for Matrix written in [Flutter](https://flutter.dev/)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:98
|
||||
msgid "[Setting up Commet](configuring-playbook-client-commet.md), if you've enabled [Commet](https://github.com/commetchat/commet), a Matrix web client"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:101
|
||||
#: ../../../docs/configuring-playbook.md:99
|
||||
msgid "Authentication and user-related"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:103
|
||||
#: ../../../docs/configuring-playbook.md:101
|
||||
msgid "Extend and modify how users are authenticated on your homeserver."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:105
|
||||
#: ../../../docs/configuring-playbook.md:103
|
||||
msgid "[Setting up Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) (Next-generation auth for Matrix, based on OAuth 2.0/OIDC)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:107
|
||||
#: ../../../docs/configuring-playbook.md:105
|
||||
msgid "[Setting up Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:109
|
||||
#: ../../../docs/configuring-playbook.md:107
|
||||
msgid "[Setting up Ketesa](configuring-playbook-ketesa.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:111
|
||||
#: ../../../docs/configuring-playbook.md:109
|
||||
msgid "[Setting up the REST authentication password provider module](configuring-playbook-rest-auth.md) (advanced)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:113
|
||||
#: ../../../docs/configuring-playbook.md:111
|
||||
msgid "[Setting up the Shared Secret Auth password provider module](configuring-playbook-shared-secret-auth.md) (advanced)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:115
|
||||
#: ../../../docs/configuring-playbook.md:113
|
||||
msgid "[Setting up the LDAP authentication password provider module](configuring-playbook-ldap-auth.md) (advanced)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:117
|
||||
#: ../../../docs/configuring-playbook.md:115
|
||||
msgid "[Setting up Synapse Simple Antispam](configuring-playbook-synapse-simple-antispam.md) (advanced)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:119
|
||||
#: ../../../docs/configuring-playbook.md:117
|
||||
msgid "[Setting up Matrix User Verification Service](configuring-playbook-user-verification-service.md) (advanced)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:121
|
||||
#: ../../../docs/configuring-playbook.md:119
|
||||
msgid "File Storage"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:123
|
||||
#: ../../../docs/configuring-playbook.md:121
|
||||
msgid "Use alternative file storage to the default `media_store` folder."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:125
|
||||
#: ../../../docs/configuring-playbook.md:123
|
||||
msgid "[Storing Matrix media files using matrix-media-repo](configuring-playbook-matrix-media-repo.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:127
|
||||
#: ../../../docs/configuring-playbook.md:125
|
||||
msgid "[Storing Synapse media files on Amazon S3 or another compatible Object Storage](configuring-playbook-s3.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:129
|
||||
#: ../../../docs/configuring-playbook.md:127
|
||||
msgid "[Storing Synapse media files on Amazon S3 with Goofys](configuring-playbook-s3-goofys.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:131
|
||||
#: ../../../docs/configuring-playbook.md:129
|
||||
msgid "[Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](configuring-playbook-synapse-s3-storage-provider.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:133
|
||||
#: ../../../docs/configuring-playbook.md:131
|
||||
msgid "Bridging other networks"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:135
|
||||
#: ../../../docs/configuring-playbook.md:133
|
||||
msgid "Bridges can be used to connect your Matrix installation with third-party communication networks."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:137
|
||||
#: ../../../docs/configuring-playbook.md:135
|
||||
msgid "[Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) — a common guide for configuring mautrix bridges"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:139
|
||||
#: ../../../docs/configuring-playbook.md:137
|
||||
msgid "[Setting up Mautrix Bluesky bridging](configuring-playbook-bridge-mautrix-bluesky.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:141
|
||||
#: ../../../docs/configuring-playbook.md:139
|
||||
msgid "[Setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:143
|
||||
#: ../../../docs/configuring-playbook.md:141
|
||||
msgid "[Setting up Mautrix Telegram bridging](configuring-playbook-bridge-mautrix-telegram.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:145
|
||||
#: ../../../docs/configuring-playbook.md:143
|
||||
msgid "[Setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:147
|
||||
#: ../../../docs/configuring-playbook.md:145
|
||||
msgid "[Setting up Mautrix Google Messages bridging](configuring-playbook-bridge-mautrix-gmessages.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:149
|
||||
#: ../../../docs/configuring-playbook.md:147
|
||||
msgid "[Setting up Mautrix Whatsapp bridging](configuring-playbook-bridge-mautrix-whatsapp.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:151
|
||||
#: ../../../docs/configuring-playbook.md:149
|
||||
msgid "[Setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:153
|
||||
#: ../../../docs/configuring-playbook.md:151
|
||||
msgid "[Setting up Messenger bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-messenger.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:155
|
||||
#: ../../../docs/configuring-playbook.md:153
|
||||
msgid "[Setting up Mautrix Google Chat bridging](configuring-playbook-bridge-mautrix-googlechat.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:157
|
||||
#: ../../../docs/configuring-playbook.md:155
|
||||
msgid "[Setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:159
|
||||
#: ../../../docs/configuring-playbook.md:157
|
||||
msgid "[Setting up Mautrix Signal bridging](configuring-playbook-bridge-mautrix-signal.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:161
|
||||
#: ../../../docs/configuring-playbook.md:159
|
||||
msgid "[Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage](configuring-playbook-bridge-mautrix-wsproxy.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:163
|
||||
#: ../../../docs/configuring-playbook.md:161
|
||||
msgid "[Setting up RustPush (iMessage) bridging](configuring-playbook-bridge-rustpush.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:165
|
||||
#: ../../../docs/configuring-playbook.md:163
|
||||
msgid "[Setting up Appservice IRC bridging](configuring-playbook-bridge-appservice-irc.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:167
|
||||
#: ../../../docs/configuring-playbook.md:165
|
||||
msgid "[Setting up Appservice Discord bridging](configuring-playbook-bridge-appservice-discord.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:169
|
||||
#: ../../../docs/configuring-playbook.md:167
|
||||
msgid "[Setting up Appservice Kakaotalk bridging](configuring-playbook-bridge-appservice-kakaotalk.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:171
|
||||
#: ../../../docs/configuring-playbook.md:169
|
||||
msgid "[Setting up Beeper LinkedIn bridging](configuring-playbook-bridge-beeper-linkedin.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:173
|
||||
#: ../../../docs/configuring-playbook.md:171
|
||||
msgid "[Setting up matrix-hookshot](configuring-playbook-bridge-hookshot.md) — a bridge between Matrix and multiple project management services, such as [GitHub](https://github.com), [GitLab](https://about.gitlab.com) and [JIRA](https://www.atlassian.com/software/jira)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:175
|
||||
#: ../../../docs/configuring-playbook.md:173
|
||||
msgid "[Setting up MX Puppet GroupMe bridging](configuring-playbook-bridge-mx-puppet-groupme.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:177
|
||||
#: ../../../docs/configuring-playbook.md:175
|
||||
msgid "[Setting up Steam bridging](configuring-playbook-bridge-steam.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:179
|
||||
#: ../../../docs/configuring-playbook.md:177
|
||||
msgid "[Setting up MX Puppet Steam bridging](configuring-playbook-bridge-mx-puppet-steam.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:181
|
||||
#: ../../../docs/configuring-playbook.md:179
|
||||
msgid "[Setting up Postmoogle email bridging](configuring-playbook-bridge-postmoogle.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:183
|
||||
#: ../../../docs/configuring-playbook.md:181
|
||||
msgid "[Setting up Matrix SMS bridging](configuring-playbook-bridge-matrix-bridge-sms.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:185
|
||||
#: ../../../docs/configuring-playbook.md:183
|
||||
msgid "[Setting up Heisenbridge bouncer-style IRC bridging](configuring-playbook-bridge-heisenbridge.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:187
|
||||
#: ../../../docs/configuring-playbook.md:185
|
||||
msgid "[Setting up a Matrix <-> Meshtastic bridge](configuring-playbook-bridge-meshtastic-relay.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:189
|
||||
#: ../../../docs/configuring-playbook.md:187
|
||||
msgid "[Setting up WeChat bridging](configuring-playbook-bridge-wechat.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:191
|
||||
#: ../../../docs/configuring-playbook.md:189
|
||||
msgid "Bots"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:193
|
||||
#: ../../../docs/configuring-playbook.md:191
|
||||
msgid "Bots provide various additional functionality to your installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:195
|
||||
#: ../../../docs/configuring-playbook.md:193
|
||||
msgid "[Setting up baibot](configuring-playbook-bot-baibot.md) — a bot through which you can talk to various [AI](https://en.wikipedia.org/wiki/Artificial_intelligence) / [Large Language Models](https://en.wikipedia.org/wiki/Large_language_model) services (the privacy-first [Venice](configuring-playbook-bot-baibot.md#venice) we recommend, [OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/), and [others](https://github.com/etkecc/baibot/blob/main/docs/providers.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:197
|
||||
#: ../../../docs/configuring-playbook.md:195
|
||||
msgid "[Setting up matrix-reminder-bot](configuring-playbook-bot-matrix-reminder-bot.md) — a bot to remind you about stuff"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:199
|
||||
#: ../../../docs/configuring-playbook.md:197
|
||||
msgid "[Setting up maubot](configuring-playbook-bot-maubot.md) — a plugin-based Matrix bot system"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:201
|
||||
#: ../../../docs/configuring-playbook.md:199
|
||||
msgid "[Setting up Honoroit](configuring-playbook-bot-honoroit.md) — a helpdesk bot"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:203
|
||||
#: ../../../docs/configuring-playbook.md:201
|
||||
msgid "[Setting up Mjolnir](configuring-playbook-bot-mjolnir.md) — a moderation tool/bot"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:205
|
||||
#: ../../../docs/configuring-playbook.md:203
|
||||
msgid "[Setting up Draupnir](configuring-playbook-bot-draupnir.md) — a moderation tool/bot, forked from Mjolnir and maintained by its former leader developer"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:207
|
||||
#: ../../../docs/configuring-playbook.md:205
|
||||
msgid "[Setting up Draupnir for all/D4A](configuring-playbook-appservice-draupnir-for-all.md) — like the [Draupnir bot](configuring-playbook-bot-draupnir.md) mentioned above, but running in appservice mode and supporting multiple instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:209
|
||||
#: ../../../docs/configuring-playbook.md:207
|
||||
msgid "[Setting up Buscarron](configuring-playbook-bot-buscarron.md) — a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:211
|
||||
#: ../../../docs/configuring-playbook.md:209
|
||||
msgid "Administration"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:213
|
||||
#: ../../../docs/configuring-playbook.md:211
|
||||
msgid "Services that help you in administrating and monitoring your Matrix installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:215
|
||||
#: ../../../docs/configuring-playbook.md:213
|
||||
msgid "[Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](configuring-playbook-alertmanager-receiver.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:217
|
||||
#: ../../../docs/configuring-playbook.md:215
|
||||
msgid "[Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:219
|
||||
#: ../../../docs/configuring-playbook.md:217
|
||||
msgid "[Setting up the rageshake bug report server](configuring-playbook-rageshake.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:221
|
||||
#: ../../../docs/configuring-playbook.md:219
|
||||
msgid "[Enabling synapse-usage-exporter for Synapse usage statistics](configuring-playbook-synapse-usage-exporter.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:223
|
||||
#: ../../../docs/configuring-playbook.md:221
|
||||
msgid "Backups:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:224
|
||||
#: ../../../docs/configuring-playbook.md:222
|
||||
msgid "[Setting up BorgBackup](configuring-playbook-backup-borg.md) — a full Matrix server backup solution, including the Postgres database"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:226
|
||||
#: ../../../docs/configuring-playbook.md:224
|
||||
msgid "[Setting up Postgres backup](configuring-playbook-postgres-backup.md) — a Postgres-database backup solution (note: does not include other files)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:228
|
||||
#: ../../../docs/configuring-playbook.md:226
|
||||
msgid "Other specialized services"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:230
|
||||
#: ../../../docs/configuring-playbook.md:228
|
||||
msgid "Various services that don't fit any other categories."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:232
|
||||
#: ../../../docs/configuring-playbook.md:230
|
||||
msgid "[Setting up Element Call](configuring-playbook-element-call.md) — a native Matrix video conferencing application, built on top of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:234
|
||||
#: ../../../docs/configuring-playbook.md:232
|
||||
msgid "[Setting up LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) - a component of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:236
|
||||
#: ../../../docs/configuring-playbook.md:234
|
||||
msgid "[Setting up LiveKit Server](configuring-playbook-livekit-server.md) - a component of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:238
|
||||
#: ../../../docs/configuring-playbook.md:236
|
||||
msgid "[Setting up Matrix RTC](configuring-playbook-matrix-rtc.md) (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:240
|
||||
#: ../../../docs/configuring-playbook.md:238
|
||||
msgid "[Setting up synapse-auto-compressor](configuring-playbook-synapse-auto-compressor.md) for compressing the database on Synapse homeservers"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:242
|
||||
#: ../../../docs/configuring-playbook.md:240
|
||||
msgid "[Setting up Matrix Corporal](configuring-playbook-matrix-corporal.md) (advanced)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:244
|
||||
#: ../../../docs/configuring-playbook.md:242
|
||||
msgid "[Setting up Matrix.to](configuring-playbook-matrixto.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:246
|
||||
#: ../../../docs/configuring-playbook.md:244
|
||||
msgid "[Setting up Etherpad](configuring-playbook-etherpad.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:248
|
||||
#: ../../../docs/configuring-playbook.md:246
|
||||
msgid "[Setting up the Jitsi video-conferencing platform](configuring-playbook-jitsi.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:250
|
||||
#: ../../../docs/configuring-playbook.md:248
|
||||
msgid "[Setting up Cactus Comments](configuring-playbook-cactus-comments.md) — a federated comment system built on Matrix"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:252
|
||||
#: ../../../docs/configuring-playbook.md:250
|
||||
msgid "[Setting up Pantalaimon (E2EE aware proxy daemon)](configuring-playbook-pantalaimon.md) (advanced)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:254
|
||||
#: ../../../docs/configuring-playbook.md:252
|
||||
msgid "[Setting up the Sygnal push gateway](configuring-playbook-sygnal.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:256
|
||||
#: ../../../docs/configuring-playbook.md:254
|
||||
msgid "[Setting up the ntfy push notifications server](configuring-playbook-ntfy.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:258
|
||||
#: ../../../docs/configuring-playbook.md:256
|
||||
msgid "Deprecated / unmaintained / removed services"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:260
|
||||
#: ../../../docs/configuring-playbook.md:258
|
||||
msgid "**Note**: since a deprecated or unmaintained service will not be updated, its bug or vulnerability will be unlikely to get patched. It is recommended to migrate from the service to an alternative if any, and make sure to do your own research before you decide to keep it running nonetheless."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:262
|
||||
#: ../../../docs/configuring-playbook.md:260
|
||||
msgid "[Configuring conduwuit](configuring-playbook-conduwuit.md) (removed; this component has been abandoned and unmaintained)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:264
|
||||
#: ../../../docs/configuring-playbook.md:262
|
||||
msgid "[Setting up the Sliding Sync proxy](configuring-playbook-sliding-sync-proxy.md) for clients which require Sliding Sync support (like old Element X versions, before it got switched to Simplified Sliding Sync)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:266
|
||||
#: ../../../docs/configuring-playbook.md:264
|
||||
msgid "[Setting up Appservice Slack bridging](configuring-playbook-bridge-appservice-slack.md) (removed; this component has been discontinued)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:268
|
||||
#: ../../../docs/configuring-playbook.md:266
|
||||
msgid "[Setting up Appservice Webhooks bridging](configuring-playbook-bridge-appservice-webhooks.md) (deprecated; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:270
|
||||
#: ../../../docs/configuring-playbook.md:268
|
||||
msgid "[Setting up the Dimension integration manager](configuring-playbook-dimension.md) ([unmaintained](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2806#issuecomment-1673559299); after [installing](installing.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:272
|
||||
#: ../../../docs/configuring-playbook.md:270
|
||||
msgid "[Setting up Email2Matrix](configuring-playbook-email2matrix.md) (removed; the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-postmoogle.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:274
|
||||
#: ../../../docs/configuring-playbook.md:272
|
||||
msgid "[Setting up Go-NEB](configuring-playbook-bot-go-neb.md) (unmaintained; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:276
|
||||
#: ../../../docs/configuring-playbook.md:274
|
||||
msgid "[Setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md) (removed; Skype has been discontinued since May 2025)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:278
|
||||
#: ../../../docs/configuring-playbook.md:276
|
||||
msgid "[Setting up ma1sd Identity Server](configuring-playbook-ma1sd.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:280
|
||||
#: ../../../docs/configuring-playbook.md:278
|
||||
msgid "[Setting up matrix-bot-chatgpt](configuring-playbook-bot-chatgpt.md) (unmaintained; the bridge's author suggests taking a look at [baibot](https://github.com/etkecc/baibot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bot-baibot.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:282
|
||||
#: ../../../docs/configuring-playbook.md:280
|
||||
msgid "[Setting up matrix-ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md) (removed; the repository of the source code has been removed)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:284
|
||||
#: ../../../docs/configuring-playbook.md:282
|
||||
msgid "[Setting up matrix-registration](configuring-playbook-matrix-registration.md) (removed; this component has been unmaintained)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:286
|
||||
#: ../../../docs/configuring-playbook.md:284
|
||||
msgid "[Setting up matrix-registration-bot](configuring-playbook-bot-matrix-registration-bot.md) (removed; this component has been unmaintained)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:288
|
||||
#: ../../../docs/configuring-playbook.md:286
|
||||
msgid "[Setting up Mautrix Facebook bridging](configuring-playbook-bridge-mautrix-facebook.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-messenger](configuring-playbook-bridge-mautrix-meta-messenger.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:290
|
||||
#: ../../../docs/configuring-playbook.md:288
|
||||
msgid "[Setting up Mautrix Instagram bridging](configuring-playbook-bridge-mautrix-instagram.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-instagram](configuring-playbook-bridge-mautrix-meta-instagram.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:292
|
||||
#: ../../../docs/configuring-playbook.md:290
|
||||
msgid "[Setting up MX Puppet Discord bridging](configuring-playbook-bridge-mx-puppet-discord.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:294
|
||||
#: ../../../docs/configuring-playbook.md:292
|
||||
msgid "[Setting up MX Puppet Instagram bridging](configuring-playbook-bridge-mx-puppet-instagram.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:296
|
||||
#: ../../../docs/configuring-playbook.md:294
|
||||
msgid "[Setting up MX Puppet Skype bridging](configuring-playbook-bridge-mx-puppet-skype.md) (removed; this component has been broken for a long time, so it has been removed from the playbook. Consider [setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:298
|
||||
#: ../../../docs/configuring-playbook.md:296
|
||||
msgid "[Setting up MX Puppet Slack bridging](configuring-playbook-bridge-mx-puppet-slack.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:300
|
||||
#: ../../../docs/configuring-playbook.md:298
|
||||
msgid "[Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/configuring-playbook.md:302
|
||||
#: ../../../docs/configuring-playbook.md:300
|
||||
msgid "[Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md) (removed; since Synapse [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0) the same feature is available natively.)"
|
||||
msgstr ""
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: matrix-docker-ansible-deploy \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-12 15:37+0000\n"
|
||||
"POT-Creation-Date: 2026-06-29 17:50+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -77,249 +77,245 @@ msgid "If you **do** use SSH keys for authentication, **and** use a non-root use
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:44
|
||||
msgid "Instead of typing the sudo password on each run (`-K`) or storing it in plain text in the inventory hosts file, you can also pull it from the [pass](https://www.passwordstore.org/) password manager by adding `ansible_become_password='{{ lookup(\"community.general.passwordstore\", \"path/to/password\") }}'` to your host line. See the [passwordstore lookup documentation](https://docs.ansible.com/ansible/latest/collections/community/general/passwordstore_lookup.html) for more details."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:46
|
||||
msgid "There 2 ways to start the installation process — depending on whether you're [Installing a brand new server (without importing data)](#installing-a-brand-new-server-without-importing-data) or [Installing a server into which you'll import old data](#installing-a-server-into-which-youll-import-old-data)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:48
|
||||
#: ../../../docs/installing.md:46
|
||||
msgid "**Note**: if you are migrating from an old server to a new one, take a look at [this guide](maintenance-migrating.md) instead. This is an easier and more straightforward way than installing a server and importing old data into it."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:50
|
||||
#: ../../../docs/installing.md:48
|
||||
msgid "Installing a brand new server (without importing data)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:52
|
||||
#: ../../../docs/installing.md:50
|
||||
msgid "If this is **a brand new** Matrix server and you **won't be importing old data into it**, run all these tags:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:58
|
||||
#: ../../../docs/installing.md:56
|
||||
msgid "This will do a full installation and start all Matrix services."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:60
|
||||
#: ../../../docs/installing.md:58
|
||||
msgid "**Note**: if the command does not work as expected, make sure that you have properly installed and configured software required to run the playbook, as described on [Prerequisites](prerequisites.md)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:62
|
||||
#: ../../../docs/installing.md:60
|
||||
msgid "Installing a server into which you'll import old data"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:64
|
||||
#: ../../../docs/installing.md:62
|
||||
msgid "If you will be importing data into your newly created Matrix server, install it, but **do not** start its services just yet. Starting its services or messing with its database now will affect your data import later on."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:66
|
||||
#: ../../../docs/installing.md:64
|
||||
msgid "To do the installation **without** starting services, run `ansible-playbook` with the `install-all` tag only:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:73
|
||||
#: ../../../docs/installing.md:71
|
||||
msgid "Do not run the just \"recipe\" `just install-all` instead, because it automatically starts services at the end of execution. See: [Difference between playbook tags and shortcuts](just.md#difference-between-playbook-tags-and-shortcuts)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:75
|
||||
#: ../../../docs/installing.md:73
|
||||
msgid "When this command completes, services won't be running yet."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:77
|
||||
#: ../../../docs/installing.md:75
|
||||
msgid "You can now:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:79
|
||||
#: ../../../docs/installing.md:77
|
||||
msgid "[Importing an existing SQLite database (from another Synapse installation)](importing-synapse-sqlite.md) (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:81
|
||||
#: ../../../docs/installing.md:79
|
||||
msgid "[Importing an existing Postgres database (from another installation)](importing-postgres.md) (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:83
|
||||
#: ../../../docs/installing.md:81
|
||||
msgid "[Importing `media_store` data files from an existing Synapse installation](importing-synapse-media-store.md) (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:85
|
||||
#: ../../../docs/installing.md:83
|
||||
msgid "… and then proceed to starting all services:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:91
|
||||
#: ../../../docs/installing.md:89
|
||||
msgid "Create your user account"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:93
|
||||
#: ../../../docs/installing.md:91
|
||||
msgid "ℹ️ *You can skip this step if you have installed a server and imported old data to it.*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:95
|
||||
#: ../../../docs/installing.md:93
|
||||
msgid "As you have configured your brand new server and the client, you need to **create your user account** on your Matrix server."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:97
|
||||
#: ../../../docs/installing.md:95
|
||||
msgid "After creating the user account, you can log in to it with [Element Web](configuring-playbook-client-element-web.md) that this playbook has installed for you at this URL: `https://element.example.com/`."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:99
|
||||
#: ../../../docs/installing.md:97
|
||||
msgid "To create your user account (as an administrator of the server) via this Ansible playbook, run the command below on your local computer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:101
|
||||
#: ../../../docs/installing.md:99
|
||||
msgid "**Notes**:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:102
|
||||
#: ../../../docs/installing.md:100
|
||||
msgid "Make sure to adjust `YOUR_USERNAME_HERE` and `YOUR_PASSWORD_HERE`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:103
|
||||
#: ../../../docs/installing.md:101
|
||||
msgid "For `YOUR_USERNAME_HERE`, use a plain username like `alice`, not your full ID (`@alice:example.com`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:104
|
||||
#: ../../../docs/installing.md:102
|
||||
msgid "Use `admin=yes` to make your user account an administrator of the Matrix server"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:112
|
||||
#: ../../../docs/installing.md:110
|
||||
msgid "Feel free to create as many accounts (for friends, family, etc.) as you want. Still, perhaps you should grant full administrative access to your account only (with `admin=yes`), and others should be created with `admin=no`."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:114
|
||||
#: ../../../docs/installing.md:112
|
||||
msgid "For more information, see the documentation for [registering users](registering-users.md)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:116
|
||||
#: ../../../docs/installing.md:114
|
||||
msgid "Finalize the installation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:118
|
||||
#: ../../../docs/installing.md:116
|
||||
msgid "Now you've configured Matrix services and your user account, you need to **finalize the installation process** by [setting up Matrix delegation (redirection)](howto-server-delegation.md), so that your Matrix server (`matrix.example.com`) can present itself as the base domain (`example.com`) in the Matrix network."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:120
|
||||
#: ../../../docs/installing.md:118
|
||||
msgid "This is required for federation to work! Without a proper configuration, your server will effectively not be part of the Matrix network."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:122
|
||||
#: ../../../docs/installing.md:120
|
||||
msgid "To configure the delegation, you have these two options. Choose one of them according to your situation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:124
|
||||
#: ../../../docs/installing.md:122
|
||||
msgid "If you can afford to point the base domain at the Matrix server, follow the instructions below which guide you into [serving the base domain](configuring-playbook-base-domain-serving.md) from the integrated web server. It will enable you to use a Matrix user ID like `@alice:example.com` while hosting services on a subdomain like `matrix.example.com`."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:125
|
||||
#: ../../../docs/installing.md:123
|
||||
msgid "Alternatively, if you're using the base domain for other purposes and cannot point it to the Matrix server (and thus cannot \"serve the base domain\" from it), you most likely need to [manually install well-known files on the base domain's server](configuring-well-known.md#manually-installing-well-known-files-on-the-base-domains-server), but feel free to familiarize yourself with all [server delegation (redirection) options](howto-server-delegation.md)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:127
|
||||
#: ../../../docs/installing.md:125
|
||||
msgid "To have the base domain served from the integrated web server, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:133
|
||||
#: ../../../docs/installing.md:131
|
||||
msgid "After configuring the playbook, run the command below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:139
|
||||
#: ../../../docs/installing.md:137
|
||||
msgid "**If an error is not returned, the installation has completed and the services have been started successfully**🎉"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:141
|
||||
#: ../../../docs/installing.md:139
|
||||
msgid "Things to do next"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:143
|
||||
#: ../../../docs/installing.md:141
|
||||
msgid "After completing the installation, you can:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:145
|
||||
#: ../../../docs/installing.md:143
|
||||
msgid "[check if services work](maintenance-and-troubleshooting.md#how-to-check-if-services-work)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:146
|
||||
#: ../../../docs/installing.md:144
|
||||
msgid "or [set up additional services](configuring-playbook.md#other-configuration-options) (bridges to other chat networks, bots, etc.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:147
|
||||
#: ../../../docs/installing.md:145
|
||||
msgid "or learn how to [upgrade services when new versions are released](maintenance-upgrading-services.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:148
|
||||
#: ../../../docs/installing.md:146
|
||||
msgid "or learn how to [maintain your server](faq.md#maintenance)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:149
|
||||
#: ../../../docs/installing.md:147
|
||||
msgid "or join some Matrix rooms:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:150
|
||||
#: ../../../docs/installing.md:148
|
||||
msgid "via the *Explore rooms* feature in Element Web or some other clients, or by discovering them using this [matrix-static list](https://view.matrix.org). **Note**: joining large rooms may overload small servers. For tuning guidance on constrained hosts, see [Limit joining heavy rooms on constrained hosts](configuring-playbook-synapse.md#limit-joining-heavy-rooms-on-constrained-hosts)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:152
|
||||
#: ../../../docs/installing.md:150
|
||||
msgid "or come say Hi in our support room — [#matrix-docker-ansible-deploy:devture.com](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com). You might learn something or get to help someone else new to Matrix hosting."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:153
|
||||
#: ../../../docs/installing.md:151
|
||||
msgid "or help make this playbook better by contributing (code, documentation, or [coffee/beer](https://liberapay.com/s.pantaleev/donate))"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:155
|
||||
#: ../../../docs/installing.md:153
|
||||
msgid "Installing native Matrix clients on your computer"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:157
|
||||
#: ../../../docs/installing.md:155
|
||||
msgid "As the playbook's aim is to help you to install and manage Matrix services on your server, if you are looking for dedicated native Matrix clients which run on your computer, you need to install ones by yourself. There is a convenient list which introduces known Matrix clients on this page: <https://matrix.org/ecosystem/clients/>"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:159
|
||||
#: ../../../docs/installing.md:157
|
||||
msgid "If you feel overwhelmed by the variety and the number of the available clients, you might want to install [**Komai**](https://github.com/etkecc/komai), a desktop-first Matrix chat application maintained by the team behind the playbook. It is stable, and just works without quirks!"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:161
|
||||
#: ../../../docs/installing.md:159
|
||||
msgid "⚠️ Keep the playbook and services up-to-date"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:163
|
||||
#: ../../../docs/installing.md:161
|
||||
msgid "While this playbook helps you to set up Matrix services and maintain them, it will **not** automatically run the maintenance task for you. You will need to update the playbook and re-run it **manually**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:165
|
||||
#: ../../../docs/installing.md:163
|
||||
msgid "The upstream projects, which this playbook makes use of, occasionally if not often suffer from security vulnerabilities."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:167
|
||||
#: ../../../docs/installing.md:165
|
||||
msgid "Since it is unsafe to keep outdated services running on the server connected to the internet, please consider to update the playbook and re-run it periodically, in order to keep the services up-to-date."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:169
|
||||
#: ../../../docs/installing.md:167
|
||||
msgid "Also, do not forget to update your system regularly. While this playbook may install basic services, such as Docker, it will not interfere further with system maintenance. Keeping the system itself up-to-date is out of scope for this playbook."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:171
|
||||
#: ../../../docs/installing.md:169
|
||||
msgid "For more information about upgrading or maintaining services with the playbook, take a look at this page: [Upgrading the Matrix services](maintenance-upgrading-services.md)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:173
|
||||
#: ../../../docs/installing.md:171
|
||||
msgid "Feel free to **re-run the setup command any time** you think something is wrong with the server configuration. Ansible will take your configuration and update your server to match."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:179
|
||||
#: ../../../docs/installing.md:177
|
||||
msgid "**Note**: see [this page on the playbook tags](playbook-tags.md) for more information about those tags."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:181
|
||||
#: ../../../docs/installing.md:179
|
||||
msgid "Make full use of `just` shortcut commands"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:183
|
||||
#: ../../../docs/installing.md:181
|
||||
msgid "After you get familiar with reconfiguring and re-running the playbook to maintain the server, upgrade its services, etc., you probably would like to make use of `just` shortcut commands for faster input."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:185
|
||||
#: ../../../docs/installing.md:183
|
||||
msgid "For example, `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/installing.md:187
|
||||
#: ../../../docs/installing.md:185
|
||||
msgid "You can learn about the shortcut commands on this page: [Running `just` commands](just.md)"
|
||||
msgstr ""
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: matrix-docker-ansible-deploy \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-12 15:37+0000\n"
|
||||
"POT-Creation-Date: 2026-05-07 11:16+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -213,265 +213,229 @@ msgid "For your convenience, we have prepared example files of them ([`vars.yml`
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:92
|
||||
msgid "To start quickly based on these example files, go into the `matrix-docker-ansible-deploy` directory and initialize your configuration, either automatically or manually."
|
||||
msgid "To start quickly based on these example files, go into the `matrix-docker-ansible-deploy` directory and follow the instructions below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:94
|
||||
msgid "To initialize it automatically (with the base domain and server address pre-filled and secrets generated for you), run:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:96
|
||||
msgid "either: `just add-inventory-host example.com 1.2.3.4` (if you have the [`just`](just.md) tool)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:97
|
||||
msgid "or: `make add-inventory-host domain=example.com ip=1.2.3.4` (if you have the `make` program)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:99
|
||||
msgid "… where `example.com` is your \"base domain\" (not `matrix.example.com`) and `1.2.3.4` is your server's external IP address (or domain name)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:101
|
||||
msgid "Given a base domain of `example.com`, this creates:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:103
|
||||
msgid "an entry for `matrix.example.com` (the Matrix server's default hostname: `matrix.` + your base domain) in the inventory hosts file (`inventory/hosts`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:104
|
||||
msgid "a configuration file (`inventory/host_vars/matrix.example.com/vars.yml`) containing `matrix_domain: example.com` and automatically generated secrets"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:106
|
||||
msgid "Afterward, edit these 2 files to adjust them further, as necessary. Existing configuration is never overwritten (the command refuses to run if the host is already in your inventory), so it can also be used for adding more hosts later."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:108
|
||||
msgid "To initialize it manually, follow the instructions below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:110
|
||||
msgid "Create a directory to hold your configuration: `mkdir -p inventory/host_vars/matrix.example.com` where `example.com` is your \"base domain\""
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:111
|
||||
#: ../../../docs/quick-start.md:95
|
||||
msgid "Copy the sample configuration file: `cp examples/vars.yml inventory/host_vars/matrix.example.com/vars.yml`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:112
|
||||
#: ../../../docs/quick-start.md:96
|
||||
msgid "Copy the sample inventory hosts file: `cp examples/hosts inventory/hosts`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:113
|
||||
#: ../../../docs/quick-start.md:97
|
||||
msgid "Edit the configuration file (`inventory/host_vars/matrix.example.com/vars.yml`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:114
|
||||
#: ../../../docs/quick-start.md:98
|
||||
msgid "Edit the inventory hosts file (`inventory/hosts`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:116
|
||||
#: ../../../docs/quick-start.md:100
|
||||
msgid "Before editing these 2 files, make sure to read explanations on them to understand what needs to be configured."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:118
|
||||
#: ../../../docs/quick-start.md:102
|
||||
msgid "**💡 Notes:**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:119
|
||||
#: ../../../docs/quick-start.md:103
|
||||
msgid "If you are not in control of anything on the base domain, you would need to set additional configuration on `vars.yml`. For more information, see [How do I install on matrix.example.com without involving the base domain?](faq.md#how-do-i-install-on-matrix-example-com-without-involving-the-base-domain) on our FAQ."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:120
|
||||
#: ../../../docs/quick-start.md:104
|
||||
msgid "Certain configuration decisions (like the base domain configured in `matrix_domain` and homeserver implementation configured in `matrix_homeserver_implementation`) are final. If you make the wrong choice and wish to change it, you'll have to run the Uninstalling step and start over."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:121
|
||||
#: ../../../docs/quick-start.md:105
|
||||
msgid "Instead of configuring a lot of things all at once, we recommend starting with the basic (default) settings in order to get yourself familiar with how the playbook works. After making sure that everything works as expected, you can add (and remove) advanced settings / features and run the playbook as many times as you wish."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:123
|
||||
#: ../../../docs/quick-start.md:107
|
||||
msgid "Install"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:125
|
||||
#: ../../../docs/quick-start.md:109
|
||||
msgid "<sup>This section is optimized for this quick-start guide and is derived from the following full-documentation page: [Installing](installing.md)</sup>"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:127
|
||||
#: ../../../docs/quick-start.md:111
|
||||
msgid "After editing `vars.yml` and `hosts` files, let's start the **installation** procedure."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:129
|
||||
#: ../../../docs/quick-start.md:113
|
||||
msgid "Update Ansible roles"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:131
|
||||
#: ../../../docs/quick-start.md:115
|
||||
msgid "Before installing, you need to update the Ansible roles that this playbook uses and fetches from outside."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:133
|
||||
#: ../../../docs/quick-start.md:117
|
||||
msgid "To update your playbook directory and all upstream Ansible roles, run:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:135
|
||||
#: ../../../docs/quick-start.md:119
|
||||
msgid "either: `just update`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:136
|
||||
#: ../../../docs/quick-start.md:120
|
||||
msgid "or: a combination of `git pull` and `just roles` (or `make roles` if you have `make` program on your computer instead of `just`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:138
|
||||
#: ../../../docs/quick-start.md:122
|
||||
msgid "If you don't have either `just` tool or `make` program, you can run the `ansible-galaxy` tool directly after updating the playbook: `git pull; rm -rf roles/galaxy; ansible-galaxy install -r requirements.yml -p roles/galaxy/ --force`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:140
|
||||
#: ../../../docs/quick-start.md:124
|
||||
msgid "Run installation command"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:142
|
||||
#: ../../../docs/quick-start.md:126
|
||||
msgid "Then, run the command below to start installation:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:148
|
||||
#: ../../../docs/quick-start.md:132
|
||||
msgid "If you **don't** use SSH keys for authentication, but rather a regular password, you may need to add `--ask-pass` to the command."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:150
|
||||
#: ../../../docs/quick-start.md:134
|
||||
msgid "If you **do** use SSH keys for authentication, **and** use a non-root user to *become* root (sudo), you may need to add `-K` (`--ask-become-pass`) to the command."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:152
|
||||
#: ../../../docs/quick-start.md:136
|
||||
msgid "Wait until the command completes. If it's all green, everything should be running properly."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:154
|
||||
#: ../../../docs/quick-start.md:138
|
||||
msgid "Create your user account"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:156
|
||||
#: ../../../docs/quick-start.md:140
|
||||
msgid "<sup>This section is optimized for this quick-start guide and is derived from the following full-documentation page: [Registering users](registering-users.md)</sup>"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:158
|
||||
#: ../../../docs/quick-start.md:142
|
||||
msgid "As you have configured your brand new server and the client, you need to **create your user account** on your Matrix server."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:160
|
||||
#: ../../../docs/quick-start.md:144
|
||||
msgid "To create your user account (as an administrator of the server) via this Ansible playbook, run the command below on your local computer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:162
|
||||
#: ../../../docs/quick-start.md:146
|
||||
msgid "**💡 Notes**:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:163
|
||||
#: ../../../docs/quick-start.md:147
|
||||
msgid "Make sure to adjust `YOUR_USERNAME_HERE` and `YOUR_PASSWORD_HERE`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:164
|
||||
#: ../../../docs/quick-start.md:148
|
||||
msgid "For `YOUR_USERNAME_HERE`, use a plain username like `alice`, not your full ID (`@alice:example.com`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:176
|
||||
#: ../../../docs/quick-start.md:160
|
||||
msgid "Finalize server installation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:178
|
||||
#: ../../../docs/quick-start.md:162
|
||||
msgid "<sup>This section is optimized for this quick-start guide and is derived from the following full-documentation page: [Server Delegation](howto-server-delegation.md)</sup>"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:180
|
||||
#: ../../../docs/quick-start.md:164
|
||||
msgid "Now that you've configured Matrix services and your user account, you need to **finalize the installation process** by [setting up Matrix delegation (redirection)](howto-server-delegation.md), so that your Matrix server (`matrix.example.com`) can present itself as the base domain (`example.com`) in the Matrix network."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:182
|
||||
#: ../../../docs/quick-start.md:166
|
||||
msgid "**This is required for federation to work!** Without a proper configuration, your server will effectively not be part of the Matrix network."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:184
|
||||
#: ../../../docs/quick-start.md:168
|
||||
msgid "To configure the delegation, you have these two options. Choose one of them according to your situation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:186
|
||||
#: ../../../docs/quick-start.md:170
|
||||
msgid "If you can afford to point the base domain at the Matrix server, follow the instruction below which guides you into [serving the base domain](configuring-playbook-base-domain-serving.md) from the integrated web server."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:187
|
||||
#: ../../../docs/quick-start.md:171
|
||||
msgid "Alternatively, if you're using the base domain for other purposes and cannot point it to the Matrix server (and thus cannot \"serve the base domain\" from it), you most likely need to [manually install well-known files on the base domain's server](configuring-well-known.md#manually-installing-well-known-files-on-the-base-domains-server)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:189
|
||||
#: ../../../docs/quick-start.md:173
|
||||
msgid "To have the base domain served from the integrated web server, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:195
|
||||
#: ../../../docs/quick-start.md:179
|
||||
msgid "After configuring the playbook, run the command below and wait until it finishes:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:201
|
||||
#: ../../../docs/quick-start.md:185
|
||||
msgid "💡 Running the `install-matrix-static-files` playbook tag (as done here) is an optimized version of running [the full setup command](#run-installation-command)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:203
|
||||
#: ../../../docs/quick-start.md:187
|
||||
msgid "After the command finishes, you can also check whether your server federates with the Matrix network by using the [Federation Tester](https://federationtester.matrix.org/) against your base domain (`example.com`), not the `matrix.example.com` subdomain."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:205
|
||||
#: ../../../docs/quick-start.md:189
|
||||
msgid "Re-run the full setup command any time"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:207
|
||||
#: ../../../docs/quick-start.md:191
|
||||
msgid "If you think something is wrong with the server configuration, feel free to re-run the setup command any time:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:213
|
||||
#: ../../../docs/quick-start.md:197
|
||||
msgid "Log in to your user account"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:215
|
||||
#: ../../../docs/quick-start.md:199
|
||||
msgid "Finally, let's make sure that you can log in to the created account with the specified password."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:217
|
||||
#: ../../../docs/quick-start.md:201
|
||||
msgid "You should be able to log in to it with your own [Element Web](configuring-playbook-client-element-web.md) client which you have set up at `element.example.com` by running the playbook. Open the URL (`https://element.example.com`) in a web browser and enter your credentials to log in."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:219
|
||||
#: ../../../docs/quick-start.md:203
|
||||
msgid "**If you successfully logged in to your account, the installation and configuration have completed successfully**🎉"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:221
|
||||
#: ../../../docs/quick-start.md:205
|
||||
msgid "Come say Hi👋 in our support room — [#matrix-docker-ansible-deploy:devture.com](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com). You might learn something or get to help someone else new to Matrix hosting."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:223
|
||||
#: ../../../docs/quick-start.md:207
|
||||
msgid "Things to do next"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:225
|
||||
#: ../../../docs/quick-start.md:209
|
||||
msgid "Once you get familiar with the playbook, you might probably want to set up additional services such as a bridge on your server."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:227
|
||||
#: ../../../docs/quick-start.md:211
|
||||
msgid "As this page intends to be a quick start guide which explains how to start the core Matrix services, it does not cover a topic like how to set them up. Take a look at the list of [things to do next](installing.md#things-to-do-next) to learn more."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:229
|
||||
#: ../../../docs/quick-start.md:213
|
||||
msgid "⚠️Keep the playbook and services up-to-date"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:231
|
||||
#: ../../../docs/quick-start.md:215
|
||||
msgid "While this playbook helps you to set up Matrix services and maintain them, it will **not** automatically run the maintenance task for you. You will need to update the playbook and re-run it **manually**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:233
|
||||
#: ../../../docs/quick-start.md:217
|
||||
msgid "Since it is unsafe to keep outdated services running on the server connected to the internet, please consider to update the playbook and re-run it periodically, in order to keep the services up-to-date."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../docs/quick-start.md:235
|
||||
#: ../../../docs/quick-start.md:219
|
||||
msgid "For more information about upgrading or maintaining services with the playbook, take a look at this page: [Upgrading the Matrix services](maintenance-upgrading-services.md)"
|
||||
msgstr ""
|
||||
|
||||
+4
-4
@@ -4,7 +4,7 @@
|
||||
version: v1.0.0-7
|
||||
name: auxiliary
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git
|
||||
version: v1.4.4-2.1.6-1
|
||||
version: v1.4.4-2.1.4-1
|
||||
name: backup_borg
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-cinny.git
|
||||
version: v4.12.3-0
|
||||
@@ -33,7 +33,7 @@
|
||||
version: v4.99.1-r0-2-1
|
||||
name: exim_relay
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git
|
||||
version: v13.0.2-1
|
||||
version: v13.0.2-0
|
||||
name: grafana
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-hydrogen.git
|
||||
version: v0.5.1-5
|
||||
@@ -57,7 +57,7 @@
|
||||
version: dd6e15246b7a9a2d921e0b3f9cd8a4a917a1bb2f
|
||||
name: playbook_state_preserver
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres.git
|
||||
version: v18.4-2
|
||||
version: v18.4-0
|
||||
name: postgres
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup.git
|
||||
version: v18-3
|
||||
@@ -75,7 +75,7 @@
|
||||
version: v0.20.1-0
|
||||
name: prometheus_postgres_exporter
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-sable.git
|
||||
version: v1.19.4-0
|
||||
version: v1.19.3-0
|
||||
name: sable
|
||||
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git
|
||||
version: v1.5.0-0
|
||||
|
||||
@@ -16,11 +16,12 @@
|
||||
# Project source code URL: https://github.com/matrix-org/matrix-appservice-discord
|
||||
|
||||
matrix_appservice_discord_enabled: false
|
||||
matrix_appservice_discord_container_image_self_build: false
|
||||
|
||||
# renovate: datasource=docker depName=ghcr.io/matrix-org/matrix-appservice-discord
|
||||
matrix_appservice_discord_version: v4.0.0
|
||||
matrix_appservice_discord_container_image: "{{ matrix_appservice_discord_container_image_registry_prefix }}matrix-org/matrix-appservice-discord:{{ matrix_appservice_discord_version }}"
|
||||
matrix_appservice_discord_container_image_registry_prefix: "{{ matrix_appservice_discord_container_image_registry_prefix_upstream }}"
|
||||
matrix_appservice_discord_container_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_discord_container_image_self_build else matrix_appservice_discord_container_image_registry_prefix_upstream }}"
|
||||
matrix_appservice_discord_container_image_registry_prefix_upstream: "{{ matrix_appservice_discord_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_discord_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
- {'old': 'matrix_appservice_discord_docker_image_registry_prefix_upstream', 'new': 'matrix_appservice_discord_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_appservice_discord_docker_image_registry_prefix_upstream_default', 'new': 'matrix_appservice_discord_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_appservice_discord_container_image_force_pull', 'new': '<removed> (the new community.docker.docker_image_pull module handles this natively)'}
|
||||
- {'old': 'matrix_appservice_discord_container_image_self_build', 'new': '<removed> (self-building was never actually implemented for this role, so enabling it only led to image pull failures; the prebuilt image is amd64-only, so on other architectures consider the mautrix-discord bridge instead)'}
|
||||
|
||||
- name: Fail if required appservice-discord settings not defined
|
||||
ansible.builtin.fail:
|
||||
|
||||
@@ -316,7 +316,7 @@ matrix_mautrix_meta_instagram_registration_yaml: |
|
||||
namespaces:
|
||||
users:
|
||||
- exclusive: true
|
||||
regex: '^@{{ matrix_mautrix_meta_instagram_bridge_username_prefix | regex_escape }}.+:{{ matrix_mautrix_meta_instagram_homeserver_domain | regex_escape }}$'
|
||||
regex: '^@{{ matrix_mautrix_meta_instagram_bridge_username_prefix }}.+:{{ matrix_mautrix_meta_instagram_homeserver_domain | regex_escape }}$'
|
||||
- exclusive: true
|
||||
regex: '^@{{ matrix_mautrix_meta_instagram_appservice_username | regex_escape }}:{{ matrix_mautrix_meta_instagram_homeserver_domain | regex_escape }}$'
|
||||
url: {{ matrix_mautrix_meta_instagram_appservice_address }}
|
||||
|
||||
@@ -316,7 +316,7 @@ matrix_mautrix_meta_messenger_registration_yaml: |
|
||||
namespaces:
|
||||
users:
|
||||
- exclusive: true
|
||||
regex: '^@{{ matrix_mautrix_meta_messenger_bridge_username_prefix | regex_escape }}.+:{{ matrix_mautrix_meta_messenger_homeserver_domain | regex_escape }}$'
|
||||
regex: '^@{{ matrix_mautrix_meta_messenger_bridge_username_prefix }}.+:{{ matrix_mautrix_meta_messenger_homeserver_domain | regex_escape }}$'
|
||||
- exclusive: true
|
||||
regex: '^@{{ matrix_mautrix_meta_messenger_appservice_username | regex_escape }}:{{ matrix_mautrix_meta_messenger_homeserver_domain | regex_escape }}$'
|
||||
url: {{ matrix_mautrix_meta_messenger_appservice_address }}
|
||||
|
||||
@@ -189,10 +189,15 @@ matrix_client_element_room_directory_servers: ['matrix.org']
|
||||
# Branding of Element
|
||||
matrix_client_element_brand: "Element"
|
||||
|
||||
# URL to the logo shown on the welcome and login pages.
|
||||
# This is the default for `matrix_client_element_branding_auth_header_logo_url` below.
|
||||
# URL to Logo on welcome page
|
||||
matrix_client_element_welcome_logo: "themes/element/img/logos/element-logo.svg"
|
||||
|
||||
# URL of link on welcome image
|
||||
matrix_client_element_welcome_logo_link: "https://element.io"
|
||||
|
||||
matrix_client_element_welcome_headline: "_t(\"welcome_to_element\")"
|
||||
matrix_client_element_welcome_text: "_t(\"powered_by_matrix_with_logo\")"
|
||||
|
||||
# Links, shown in footer of welcome page:
|
||||
# [{"text": "Link text", "url": "https://link.target"}, {"text": "Other link"}]
|
||||
matrix_client_element_branding_auth_footer_links: ~ # noqa var-naming
|
||||
@@ -264,6 +269,8 @@ matrix_client_element_element_call_brand: "Element Call"
|
||||
# Controls the `element_call.use_exclusively` setting in the Element Web configuration.
|
||||
matrix_client_element_element_call_use_exclusively: true
|
||||
|
||||
matrix_client_element_page_template_welcome_path: "{{ role_path }}/templates/welcome.html.j2"
|
||||
|
||||
# By default, there's no Element Web homepage (when logged in). If you wish to have one,
|
||||
# point this to a `home.html` template file on your local filesystem.
|
||||
matrix_client_element_embedded_pages_home_path: ~
|
||||
@@ -339,10 +346,6 @@ matrix_client_element_configuration: "{{ matrix_client_element_configuration_def
|
||||
# How to host your own map tile server: https://matrix.org/docs/guides/map-tile-server
|
||||
matrix_client_element_location_sharing_enabled: false
|
||||
|
||||
# Controls the value of the `Access-Control-Allow-Origin` header attached to responses for `map_style.json`.
|
||||
# Element Desktop loads the map style from a `vector://vector` origin, so cross-origin access needs to be allowed.
|
||||
matrix_client_element_location_sharing_map_style_access_control_allow_origin: "*"
|
||||
|
||||
# Default Element location sharing map style configuration template which covers the generic use case.
|
||||
# You can customize it by controlling the various variables inside it.
|
||||
#
|
||||
|
||||
@@ -97,6 +97,7 @@
|
||||
with_items:
|
||||
- {src: "{{ role_path }}/templates/labels.j2", name: "labels"}
|
||||
- {src: "{{ role_path }}/templates/env.j2", name: "env"}
|
||||
- {src: "{{ matrix_client_element_page_template_welcome_path }}", name: "welcome.html"}
|
||||
- {src: "{{ matrix_client_element_embedded_pages_home_path }}", name: "home.html"}
|
||||
when: "item.src is not none"
|
||||
register: matrix_client_element_support_files_result
|
||||
@@ -112,8 +113,6 @@
|
||||
state: absent
|
||||
with_items:
|
||||
- {src: "{{ matrix_client_element_embedded_pages_home_path }}", name: "home.html"}
|
||||
# The playbook no longer ships a custom welcome.html (Element Web renders its own built-in welcome page).
|
||||
- {src: ~, name: "welcome.html"}
|
||||
when: "item.src is none"
|
||||
|
||||
- name: Ensure Element Web container network is created
|
||||
|
||||
@@ -30,10 +30,6 @@
|
||||
- {'old': 'matrix_client_element_docker_image_registry_prefix_upstream_default', 'new': 'matrix_client_element_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_client_element_docker_src_files_path', 'new': 'matrix_client_element_container_src_files_path'}
|
||||
- {'old': 'matrix_client_element_container_image_force_pull', 'new': '<removed> (the new community.docker.docker_image_pull module handles this natively)'}
|
||||
- {'old': 'matrix_client_element_welcome_headline', 'new': '<removed> (Element Web now renders its own built-in welcome page and no longer loads the custom welcome.html this variable applied to; a logo and background can still be customized via matrix_client_element_branding_auth_header_logo_url and matrix_client_element_branding_welcome_background_url, and a fully custom page can be self-hosted and wired via embedded_pages.welcome_url in matrix_client_element_configuration_extension_json)'}
|
||||
- {'old': 'matrix_client_element_welcome_text', 'new': '<removed> (Element Web now renders its own built-in welcome page and no longer loads the custom welcome.html this variable applied to; see matrix_client_element_welcome_headline for alternatives)'}
|
||||
- {'old': 'matrix_client_element_welcome_logo_link', 'new': '<removed> (Element Web now renders its own built-in welcome page and no longer loads the custom welcome.html this variable applied to; see matrix_client_element_welcome_headline for alternatives)'}
|
||||
- {'old': 'matrix_client_element_page_template_welcome_path', 'new': '<removed> (Element Web now renders its own built-in welcome page; a fully custom page can be self-hosted and wired via embedded_pages.welcome_url in matrix_client_element_configuration_extension_json)'}
|
||||
|
||||
- name: Fail if required Element Web settings not defined
|
||||
ansible.builtin.fail:
|
||||
|
||||
@@ -51,23 +51,6 @@ traefik.http.routers.matrix-client-element.tls={{ matrix_client_element_containe
|
||||
traefik.http.routers.matrix-client-element.tls.certResolver={{ matrix_client_element_container_labels_traefik_tls_certResolver }}
|
||||
{% endif %}
|
||||
|
||||
{% if matrix_client_element_location_sharing_enabled %}
|
||||
{#
|
||||
A dedicated router for the map style file, which attaches an Access-Control-Allow-Origin header.
|
||||
Element Desktop loads the map style from a `vector://vector` origin, so it needs to be allowed cross-origin access.
|
||||
#}
|
||||
traefik.http.middlewares.matrix-client-element-map-style-add-headers.headers.customresponseheaders.Access-Control-Allow-Origin={{ matrix_client_element_location_sharing_map_style_access_control_allow_origin }}
|
||||
|
||||
traefik.http.routers.matrix-client-element-map-style.rule={{ matrix_client_element_container_labels_traefik_rule }} && Path(`{{ (matrix_client_element_container_labels_traefik_path_prefix ~ '/map_style.json') | regex_replace('^//', '/') }}`)
|
||||
traefik.http.routers.matrix-client-element-map-style.service=matrix-client-element
|
||||
traefik.http.routers.matrix-client-element-map-style.middlewares={{ (middlewares + ['matrix-client-element-map-style-add-headers']) | join(',') }}
|
||||
traefik.http.routers.matrix-client-element-map-style.entrypoints={{ matrix_client_element_container_labels_traefik_entrypoints }}
|
||||
traefik.http.routers.matrix-client-element-map-style.tls={{ matrix_client_element_container_labels_traefik_tls | to_json }}
|
||||
{% if matrix_client_element_container_labels_traefik_tls %}
|
||||
traefik.http.routers.matrix-client-element-map-style.tls.certResolver={{ matrix_client_element_container_labels_traefik_tls_certResolver }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{{ matrix_client_element_container_labels_additional_labels }}
|
||||
|
||||
@@ -43,6 +43,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% if matrix_client_element_embedded_pages_home_path is not none %}
|
||||
--mount type=bind,src={{ matrix_client_element_data_path }}/home.html,dst=/app/home.html,ro \
|
||||
{% endif %}
|
||||
--mount type=bind,src={{ matrix_client_element_data_path }}/welcome.html,dst=/app/welcome.html,ro \
|
||||
{% if matrix_client_element_container_healthcheck_cmd %}
|
||||
--health-cmd="{{ matrix_client_element_container_healthcheck_cmd }}" \
|
||||
{% endif %}
|
||||
|
||||
@@ -0,0 +1,205 @@
|
||||
#jinja2: lstrip_blocks: True
|
||||
<style type="text/css">
|
||||
|
||||
/* we deliberately inline style here to avoid flash-of-CSS problems, and to avoid
|
||||
* voodoo where we have to set display: none by default
|
||||
*/
|
||||
|
||||
h1::after {
|
||||
content: "!";
|
||||
}
|
||||
|
||||
.mx_Parent {
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-webkit-flex-direction: column;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
-webkit-box-pack: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
padding: 25px 35px;
|
||||
color: #2e2f32;
|
||||
}
|
||||
|
||||
.mx_Logo {
|
||||
height: 54px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.mx_ButtonGroup {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.mx_ButtonRow {
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-justify-content: space-around;
|
||||
-ms-flex-pack: distribute;
|
||||
justify-content: space-around;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
box-sizing: border-box;
|
||||
margin: 12px 0 0;
|
||||
}
|
||||
|
||||
.mx_ButtonRow > * {
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
.mx_ButtonRow > *:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.mx_ButtonRow > *:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.mx_ButtonParent {
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
padding: 10px 20px;
|
||||
-webkit-box-orient: horizontal;
|
||||
-webkit-box-direction: normal;
|
||||
-webkit-flex-direction: row;
|
||||
-ms-flex-direction: row;
|
||||
flex-direction: row;
|
||||
-webkit-box-pack: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
border-radius: 4px;
|
||||
width: 150px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 10px center;
|
||||
text-decoration: none;
|
||||
color: #2e2f32 !important;
|
||||
}
|
||||
|
||||
.mx_ButtonLabel {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.mx_Header_title {
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
margin: 20px 0 0;
|
||||
}
|
||||
|
||||
.mx_Header_subtitle {
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
margin: 8px 0 0;
|
||||
}
|
||||
|
||||
.mx_ButtonSignIn {
|
||||
background-color: #368BD6;
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
.mx_ButtonCreateAccount {
|
||||
background-color: #0DBD8B;
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
.mx_SecondaryButton {
|
||||
background-color: #FFFFFF;
|
||||
color: #2E2F32;
|
||||
}
|
||||
|
||||
.mx_Button_iconSignIn {
|
||||
background-image: url('welcome/images/icon-sign-in.svg');
|
||||
}
|
||||
.mx_Button_iconCreateAccount {
|
||||
background-image: url('welcome/images/icon-create-account.svg');
|
||||
}
|
||||
.mx_Button_iconHelp {
|
||||
background-image: url('welcome/images/icon-help.svg');
|
||||
}
|
||||
.mx_Button_iconRoomDirectory {
|
||||
background-image: url('welcome/images/icon-room-directory.svg');
|
||||
}
|
||||
|
||||
/*
|
||||
.mx_WelcomePage_loggedIn is applied by EmbeddedPage from the Welcome component
|
||||
If it is set on the page, we should show the buttons. Otherwise, we have to assume
|
||||
we don't have an account and should hide them. No account == no guest account either.
|
||||
*/
|
||||
.mx_WelcomePage:not(.mx_WelcomePage_loggedIn) .mx_WelcomePage_guestFunctions {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mx_ButtonRow.mx_WelcomePage_guestFunctions {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.mx_ButtonRow.mx_WelcomePage_guestFunctions > div {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 480px) {
|
||||
.mx_ButtonRow {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.mx_ButtonRow > * {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="mx_Parent">
|
||||
<a href="{{ matrix_client_element_welcome_logo_link }}" target="_blank" rel="noopener">
|
||||
<img src="{{ matrix_client_element_welcome_logo }}" alt="" class="mx_Logo"/>
|
||||
</a>
|
||||
<h1 class="mx_Header_title">{{ matrix_client_element_welcome_headline }}</h1>
|
||||
<h4 class="mx_Header_subtitle">{{ matrix_client_element_welcome_text }}</h4>
|
||||
<div class="mx_ButtonGroup">
|
||||
<div class="mx_ButtonRow">
|
||||
<a href="#/login" class="mx_ButtonParent mx_ButtonSignIn mx_Button_iconSignIn">
|
||||
<div class="mx_ButtonLabel">_t("action|sign_in")</div>
|
||||
</a>
|
||||
{% if matrix_client_element_registration_enabled %}
|
||||
<a href="#/register" class="mx_ButtonParent mx_ButtonCreateAccount mx_Button_iconCreateAccount">
|
||||
<div class="mx_ButtonLabel">_t("action|create_account")</div>
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if matrix_client_element_disable_guests != true %}
|
||||
<!-- The comments below are meant to be used by Ansible as a quick way
|
||||
to strip out the marked content when desired.
|
||||
See https://github.com/element-hq/riot-web/issues/8622.
|
||||
TODO: Convert to config option if possible. -->
|
||||
<!-- BEGIN Ansible: Remove these lines when guest access is disabled -->
|
||||
<div class="mx_ButtonRow mx_WelcomePage_guestFunctions">
|
||||
<div>
|
||||
<a href="#/directory" class="mx_ButtonParent mx_SecondaryButton mx_Button_iconRoomDirectory">
|
||||
<div class="mx_ButtonLabel">_t("action|explore_rooms")</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END Ansible: Remove these lines when guest access is disabled -->
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,9 @@
|
||||
SPDX-FileCopyrightText: 2019 Daniel Hoffend
|
||||
SPDX-FileCopyrightText: 2019 Hugues De Keyzer
|
||||
SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev
|
||||
SPDX-FileCopyrightText: 2020 Clement Renaud
|
||||
SPDX-FileCopyrightText: 2020 Stefan Warnat
|
||||
SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty
|
||||
SPDX-FileCopyrightText: 2024 MDAD project contributors
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
@@ -14,7 +14,7 @@ matrix_continuwuity_enabled: true
|
||||
matrix_continuwuity_hostname: ''
|
||||
|
||||
# renovate: datasource=docker depName=forgejo.ellis.link/continuwuation/continuwuity
|
||||
matrix_continuwuity_version: v26.6.2
|
||||
matrix_continuwuity_version: v26.6.1
|
||||
|
||||
matrix_continuwuity_container_image: "{{ matrix_continuwuity_container_image_registry_prefix }}/continuwuation/continuwuity:{{ matrix_continuwuity_container_image_tag }}"
|
||||
matrix_continuwuity_container_image_tag: "{{ matrix_continuwuity_version }}"
|
||||
|
||||
@@ -413,14 +413,6 @@ matrix_media_repo_shared_secret_auth_token: "PutSomeRandomSecureValueHere"
|
||||
# thumbnails and other misc data is also stored in these places. The media repo, when looking
|
||||
# for a datastore to use, will always use the smallest datastore first.
|
||||
|
||||
# Controls whether the file datastore is defined in the configuration at all.
|
||||
# A datastore can be defined but disabled for uploads (making it readonly) by keeping this enabled
|
||||
# while setting `matrix_media_repo_datastore_file_for_kinds: []`. This is useful when migrating
|
||||
# media to another datastore, as previously stored media remains readable.
|
||||
# By default, the datastore is defined whenever some kinds are assigned to it, matching the
|
||||
# previous behavior of this role.
|
||||
matrix_media_repo_datastore_file_enabled: "{{ (matrix_media_repo_datastore_file_for_kinds | length) > 0 }}"
|
||||
|
||||
# ID for the file datastore. Any unique alphanumeric string (e.g. generated via `pwgen -s 64 1`).
|
||||
# This value CANNOT be changed after media has been stored — matrix-media-repo ties media to this ID.
|
||||
matrix_media_repo_datastore_file_id: ""
|
||||
@@ -442,14 +434,6 @@ matrix_media_repo_datastore_file_for_kinds: ["thumbnails", "remote_media", "loca
|
||||
# Path to datastore, relative to matrix-media-repo directory root
|
||||
matrix_media_repo_datastore_opts_path: "/data/media"
|
||||
|
||||
# Controls whether the S3 datastore is defined in the configuration at all.
|
||||
# A datastore can be defined but disabled for uploads (making it readonly) by keeping this enabled
|
||||
# while setting `matrix_media_repo_datastore_s3_for_kinds: []`. This is useful when migrating
|
||||
# media to another datastore, as previously stored media remains readable.
|
||||
# By default, the datastore is defined whenever some kinds are assigned to it, matching the
|
||||
# previous behavior of this role.
|
||||
matrix_media_repo_datastore_s3_enabled: "{{ (matrix_media_repo_datastore_s3_for_kinds | length) > 0 }}"
|
||||
|
||||
# ID for the S3 datastore. Any unique alphanumeric string (e.g. generated via `pwgen -s 64 1`).
|
||||
# This value CANNOT be changed after media has been stored — matrix-media-repo ties media to this ID.
|
||||
matrix_media_repo_datastore_s3_id: ""
|
||||
|
||||
@@ -50,5 +50,5 @@
|
||||
- {'name': 'matrix_media_repo_database_hostname', when: true}
|
||||
- {'name': 'matrix_media_repo_container_labels_traefik_internal_media_entrypoints', when: "{{ matrix_media_repo_container_labels_traefik_internal_media_enabled }}"}
|
||||
- {'name': 'matrix_media_repo_container_labels_traefik_internal_matrix_client_media_entrypoints', when: "{{ matrix_media_repo_container_labels_traefik_internal_matrix_client_media_enabled }}"}
|
||||
- {'name': 'matrix_media_repo_datastore_file_id', when: "{{ matrix_media_repo_datastore_file_enabled }}"}
|
||||
- {'name': 'matrix_media_repo_datastore_s3_id', when: "{{ matrix_media_repo_datastore_s3_enabled }}"}
|
||||
- {'name': 'matrix_media_repo_datastore_file_id', when: "{{ (matrix_media_repo_datastore_file_for_kinds | length) > 0 }}"}
|
||||
- {'name': 'matrix_media_repo_datastore_s3_id', when: "{{ (matrix_media_repo_datastore_s3_for_kinds | length) > 0 }}"}
|
||||
|
||||
@@ -198,7 +198,7 @@ sharedSecretAuth:
|
||||
# thumbnails and other misc data is also stored in these places. The media repo, when looking
|
||||
# for a datastore to use, will always use the smallest datastore first.
|
||||
datastores:
|
||||
{% if matrix_media_repo_datastore_file_enabled %}
|
||||
{% if (matrix_media_repo_datastore_file_for_kinds | length) > 0 %}
|
||||
- type: file
|
||||
# ID for this datastore (cannot change). Alphanumeric recommended.
|
||||
id: {{ matrix_media_repo_datastore_file_id | to_json }}
|
||||
@@ -218,7 +218,7 @@ datastores:
|
||||
opts:
|
||||
path: {{ matrix_media_repo_datastore_opts_path | to_json }}
|
||||
{% endif %}
|
||||
{% if matrix_media_repo_datastore_s3_enabled %}
|
||||
{% if (matrix_media_repo_datastore_s3_for_kinds | length) > 0 %}
|
||||
- type: s3
|
||||
# ID for this datastore (cannot change). Alphanumeric recommended.
|
||||
id: {{ matrix_media_repo_datastore_s3_id | to_json }}
|
||||
|
||||
@@ -72,7 +72,6 @@ matrix_prometheus_services_connect_scraper_synapse_workers_enabled: "{{ matrix_p
|
||||
|
||||
matrix_prometheus_services_connect_scraper_synapse_workers_enabled_list: []
|
||||
|
||||
# No {# #} comments inside the block below: indented, they leak whitespace and corrupt the YAML.
|
||||
matrix_prometheus_services_connect_scraper_synapse_workers_static_configs_as_yaml: |
|
||||
{% for worker in matrix_prometheus_services_connect_scraper_synapse_workers_enabled_list %}
|
||||
{% if worker.metrics_port != 0 %}
|
||||
@@ -80,7 +79,6 @@ matrix_prometheus_services_connect_scraper_synapse_workers_static_configs_as_yam
|
||||
labels:
|
||||
instance: {{ matrix_prometheus_services_connect_scraper_synapse_workers_static_configs_instance | to_json }}
|
||||
worker_id: {{ worker.id | to_json }}
|
||||
index: {{ worker.id | regex_search('[0-9]+') | to_json }}
|
||||
job: {{ worker.type | to_json }}
|
||||
app: {{ worker.app | to_json }}
|
||||
{% endif %}
|
||||
@@ -88,7 +86,7 @@ matrix_prometheus_services_connect_scraper_synapse_workers_static_configs_as_yam
|
||||
|
||||
matrix_prometheus_services_connect_scraper_synapse_workers_static_configs_instance: "{{ matrix_domain }}"
|
||||
|
||||
matrix_prometheus_services_connect_scraper_synapse_workers_static_configs: "{{ [] if matrix_prometheus_services_connect_scraper_synapse_workers_enabled_list | length == 0 else matrix_prometheus_services_connect_scraper_synapse_workers_static_configs_as_yaml | from_yaml or [] }}"
|
||||
matrix_prometheus_services_connect_scraper_synapse_workers_static_configs: "{{ [] if matrix_prometheus_services_connect_scraper_synapse_workers_enabled_list | length == 0 else matrix_prometheus_services_connect_scraper_synapse_workers_static_configs_as_yaml | from_yaml }}"
|
||||
|
||||
# Controls whether Postgres (postgres-exporter) shall be scraped
|
||||
matrix_prometheus_services_connect_scraper_postgres_enabled: false
|
||||
|
||||
@@ -43,19 +43,6 @@
|
||||
|
||||
- when: "matrix_synapse_usage_exporter_container_image_self_build | bool"
|
||||
block:
|
||||
# A repository left behind with different file ownership (e.g. cloned by another user in the past)
|
||||
# would make the git update below fail, either with a permission error or with git's
|
||||
# dubious-ownership protection kicking in (which manifests as a confusing
|
||||
# "'origin' does not appear to be a git repository" error, because git ignores
|
||||
# the repository's own configuration in that case).
|
||||
- name: Ensure synapse-usage-exporter repository ownership is correct on self-build
|
||||
ansible.builtin.file:
|
||||
path: "{{ matrix_synapse_usage_exporter_docker_src_files_path }}"
|
||||
state: directory
|
||||
owner: "{{ matrix_user_name }}"
|
||||
group: "{{ matrix_group_name }}"
|
||||
recurse: true
|
||||
|
||||
- name: Ensure synapse-usage-exporter repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_synapse_usage_exporter_container_image_self_build_repo }}"
|
||||
@@ -64,10 +51,6 @@
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
environment:
|
||||
GIT_CONFIG_COUNT: "1"
|
||||
GIT_CONFIG_KEY_0: safe.directory
|
||||
GIT_CONFIG_VALUE_0: "{{ matrix_synapse_usage_exporter_docker_src_files_path }}"
|
||||
register: matrix_synapse_usage_exporter_git_pull_results
|
||||
|
||||
- name: Check if synapse-usage-exporter Docker image exists
|
||||
|
||||
Reference in New Issue
Block a user