Commit Graph
100 Commits
Author SHA1 Message Date
Slavi Pantaleev d91cff3f7a Add docs about integrating mxisd's Registration feature
Docs for #161 (Github issue) and #168 (Github Pull Request).
2019-05-09 09:55:03 +03:00
Slavi PantaleevandGitHub 565236a49c Merge pull request #168 from danbob/nginx-proxy-3pid-registration
Add option to proxy 3pid registration endpoints
2019-05-09 09:53:47 +03:00
Slavi PantaleevandGitHub d97e820c89 Merge pull request #167 from danbob/synapse-3pid-options
Add registrations_require_3pid synapse option
2019-05-09 09:27:16 +03:00
Slavi PantaleevandGitHub ccb33369a7 Merge pull request #169 from verb/federation-tester
Update URL for Matrix federation tester
2019-05-09 09:22:10 +03:00
Slavi PantaleevandGitHub 5f2f17cb1e Merge pull request #160 from danbob/fix-matrix-mxisd-config
Fix template indentation
2019-05-08 08:01:00 +03:00
Slavi PantaleevandGitHub 105364f548 Merge pull request #153 from huguesdk/bugfix/whitespace_in_templates
Fix whitespace in templates
2019-05-08 07:58:40 +03:00
Slavi PantaleevandGitHub 0e7310fd7c Merge pull request #164 from TheLastProject/fix/string_before_to_json
string before to_json when string value is expected
2019-05-07 10:41:41 +03:00
Slavi Pantaleev e6fecd51d5 Explain DNS SRV vs /.well-known/matrix/server better
Hopefully, we no longer lead people to believe that DNS SRV
records are going away forever and for all use-cases.

Fixes #156 (Github Issue)
2019-05-05 11:04:52 +03:00
Slavi PantaleevandGitHub e0b7b4dc61 Merge pull request #159 from TheLastProject/feature/docker_add_hosts
Add the possibility to pass extra flags to the docker container
2019-05-05 10:22:59 +03:00
Slavi PantaleevandGitHub 1653e40239 Merge pull request #158 from lpopov/master
Add the ability to update user passwords with ansible
2019-05-05 10:21:45 +03:00
Slavi PantaleevandGitHub 92eb437bb1 Merge pull request #162 from Cadair/master
urlencode mxisd password
2019-05-04 09:59:12 +03:00
Slavi PantaleevandGitHub 6bea3237c9 Merge pull request #163 from aaronraimist/synapse-0.99.3.1
Update Synapse (0.99.3 -> 0.99.3.1)
2019-05-03 22:10:20 +03:00
Slavi Pantaleev 0e391b5870 Add explicit |int casting for more variables
As discussed in #151 (Github Pull Request), it's
a good idea to not selectively apply casting, but to do it in all
cases involving arithmetic operations.
2019-04-30 18:26:03 +03:00
Slavi PantaleevandGitHub 1495be1e0e Merge pull request #157 from TheLastProject/feature/allow_disabling_url_previews
Add variable to disable homeserver url preview
2019-04-30 14:59:40 +03:00
Slavi Pantaleev 5be1d50b3a Revert "Enable Native Python Types for Jinja2"
This reverts commit 3387035400.

Enabling `jinja2_native` does help with the issue it is trying to
address - #151 (Github Pull Request), but it introduces a regression
when generating templates.

An example is
`roles/matrix-nginx-proxy/templates/nginx/conf.d/matrix-riot-web.conf.j2`,
which yields a strange resulting value of:

```
location /.well-known/acme-challenge {
    resolver 127.0.0.11 valid=5s;
    set $backend "matrix-certbot:8080";
    proxy_pass http://$backend;

    resolver 127.0.0.11 valid=5s;
    set $backend "matrix-certbot:8080";
    proxy_pass http://$backend;
}
```

For whatever reason (still to be investigated), the `if` block's
contents seem to have been outputted twice.

Reverting until this is resolved.
Until then, #151 would rely on the workaround and not on `jinja2_native`.
2019-04-29 09:07:05 +03:00
Slavi PantaleevandGitHub db977ea584 Merge pull request #151 from huguesdk/bugfix/nginx_proxy_tmpfs_size
Fix value of nginx-proxy tmpfs size
2019-04-29 09:00:37 +03:00
Slavi Pantaleev 3387035400 Enable Native Python Types for Jinja2
Helps with #151 (Github Pull Request), but only for Ansible >= 2.7
and when Jinja >= 2.10 is in use.

For other version combinations we still need the workaround proposed
in the pull rqeuest.
2019-04-29 08:51:03 +03:00
Slavi Pantaleev 7c246b4a99 Make error about unset matrix_ssl_lets_encrypt_support_email more descriptive
Previously, we'd show an error like this:

{"changed": false, "item": null, "msg": "Detected an undefined required variable"}

.. which didn't mention the variable name
(`matrix_ssl_lets_encrypt_support_email`).
2019-04-28 11:02:17 +03:00
Slavi Pantaleev 00ec22688a Upgrade mxisd (1.4.1 -> 1.4.2)
Looks like we may not have to do this,
since 1.4.2 fixes edge cases for people who used the broken
1.4.0 release.

We jumped straight to 1.4.1, so maybe we're okay.
Still, upgrading anyway, just in case.
2019-04-28 10:15:46 +03:00
Slavi PantaleevandGitHub 817c7143ca Merge pull request #154 from aaronraimist/mxisd-1.4.1
Update mxisd (1.3.1 -> 1.4.1)
2019-04-28 09:00:47 +03:00
Slavi PantaleevandGitHub 528f537db7 Merge pull request #152 from huguesdk/bugfix/remove_hardcoded_values_in_remove_all
Remove hardcoded values in matrix-remove-all
2019-04-28 08:54:34 +03:00
Slavi PantaleevandGitHub 8a862e2414 Merge pull request #147 from aaronraimist/enable_presence_by_hs_url
Set Riot's enable_presence_by_hs_url to false if presence is disabled
2019-04-28 08:44:22 +03:00
Slavi PantaleevandGitHub 55bc1c39d2 Merge pull request #148 from Sporiff/fix-inline-url-preview
Fixed default url preview settings
2019-04-26 16:39:30 +03:00
Slavi PantaleevandGitHub f99b24f3be Merge pull request #144 from dhoffend/welcome
make welcome.html customizable
2019-04-25 08:15:00 +03:00
Slavi Pantaleev ec0f936227 Try SSL renewal more frequently and reload later
It doesn't hurt to attempt renewal more frequently, as it only does
real work if it's actually necessary.

Reloading, we postpone some more, because certbot adds some random delay
(between 1 and 8 * 60 seconds) when renewing. We want to ensure
we reload at least 8 minutes later, which wasn't the case.

To make it even safer (in case future certbot versions use a longer
delay), we reload a whole hour later. We're in no rush to start using
the new certificates anyway, especially given that we attempt renewal
often.

Somewhat fixes #146 (Github Issue)
2019-04-23 17:59:02 +03:00
Slavi Pantaleev 892abdc700 Do not refer to Synapse as "Matrix Synapse" 2019-04-23 10:20:56 +03:00
Slavi Pantaleev 39566aa7fe Generate a Synapse signing key file, if missing
The code used to check for a `homeserver.yaml` file and generate
a configuration (+ key) only if such a configuration file didn't exist.

Certain rare cases (setting up with one server name and then
changing to another) lead to `homeserver.yaml` being there,
but a `matrix.DOMAIN.signing.key` file missing (because the domain
changed).
A new signing key file would never get generated, because `homeserver.yaml`'s
existence used to be (incorrectly) satisfactory for us.

From now on, we don't mix things up like that.
We don't care about `homeserver.yaml` anymore, but rather
about the actual signing key.

The rest of the configuration (`homeserver.yaml` and
`matrix.DOMAIN.log.config`) is rebuilt by us in any case, so whether
it exists or not is irrelevant and doesn't need checking.
2019-04-23 10:06:42 +03:00
Slavi Pantaleev 18a562c000 Upgrade services 2019-04-21 08:57:49 +03:00
Slavi Pantaleev 9ea5088761 Add TURN server configuration documentation 2019-04-19 09:57:41 +03:00
Slavi Pantaleev a4da1535dd Split additional configuration options in groups
It's too many configuration options to keep them in a single list.
Trying to put some order.
2019-04-19 09:54:18 +03:00
Slavi PantaleevandGitHub d4f2cb91d7 Merge pull request #137 from jdreichmann/master
Add some examples for caddy as an external webserver
2019-04-16 22:16:53 +03:00
Slavi Pantaleev 9c401efb2d Add a note about beta/pre-release distros 2019-04-16 13:10:31 +03:00
Slavi Pantaleev c1a9549d54 Mention matrix_coturn_turn_external_ip_address in examples/hosts 2019-04-16 13:10:31 +03:00
Slavi PantaleevandGitHub ed00b0a77c Merge pull request #135 from lpopov/master
Add additional room config options
2019-04-16 12:53:03 +03:00
Slavi PantaleevandGitHub 9d0a42083c Merge pull request #134 from NullIsNot0/master
Make Dimension communicate to Synapse through Docker network
2019-04-14 20:01:43 +03:00
Slavi Pantaleev 382e53bdee Make examples/hosts look cleaner
Putting a lot of comments inbetween `[matrix-servers]` and the example
host line may make someone decide to clean up the comment
and accidentally skip-over the `[matrix-servers]` part.
2019-04-11 09:54:42 +03:00
Slavi Pantaleev 9a05b030cb Fix unknown tag error when generating Goofys service
`{% matrix_s3_media_store_custom_endpoint_enabled %}` should have
been `{% if matrix_s3_media_store_custom_endpoint_enabled %}` instead.

Related to #132 (Github Pull Request).
2019-04-10 08:45:52 +03:00
Slavi Pantaleev bec59c06bb Update images 2019-04-09 09:33:24 +03:00
Slavi Pantaleev 901516d806 Update matrix-corporal (1.3.0 -> 1.4.0) 2019-04-06 12:34:15 +03:00
Slavi PantaleevandGitHub 590a26a6ea Merge pull request #132 from console-cowboy/goofys-custom-endpoint
Goofys Custom Endpoint Support
2019-04-05 14:19:24 +03:00
Slavi Pantaleev 841b525e7f Suggest ansible_ssh_pipelining=yes for hosts 2019-04-05 11:06:49 +03:00
Slavi Pantaleev af1c9ae59d Do not force firewalld on people
In most cases, there's not really a need to touch the system
firewall, as Docker manages iptables by itself
(see https://docs.docker.com/network/iptables/).

All ports exposed by Docker containers are automatically whitelisted
in iptables and wired to the correct container.

This made installing firewalld and whitelisting ports pointless,
as far as this playbook's services are concerned.

People that wish to install firewalld (for other reasons), can do so
manually from now on.

This is inspired by and fixes #97 (Github Issue).
2019-04-03 11:37:20 +03:00
Slavi Pantaleev 0b034ac34b Update changelog 2019-04-03 11:28:51 +03:00
Slavi Pantaleev 9202b2b8d9 Ensure systemd services are running when doing --tags=start
Fixes #129 (Github Issue).

Unfortunately, we rely on `service_facts`, which is only available
in Ansible >= 2.5.

There's little reason to stick to an old version such as Ansible 2.4:
- some time has passed since we've raised version requirements - it's
time to move into the future (a little bit)
- we've recently (in 82b4640072) improved the way one can run
Ansible in a Docker container

From now on, Ansible >= 2.5 is required.
2019-04-03 11:19:06 +03:00
Slavi Pantaleev 82b4640072 Use a more suitable Docker image for running Ansible
Inspired by #128 (Github Issue), we've created a new Docker image
to replace https://hub.docker.com/r/qmxme/ansible

Adding dnspython or dig to `qmxme/ansible` doesn't seem like a good
idea (that might be accepted by them), given that it's specific to our
use case. That's why we'll be maintaining our own image from now on.
2019-04-03 10:28:23 +03:00
Slavi PantaleevandGitHub 810f745a8a Merge pull request #131 from NullIsNot0/master
Update Riot Web from 1.0.5 to 1.0.6
2019-04-02 10:03:06 +03:00
Slavi Pantaleev 631b7cc6a6 Add support for adjusting Synapse rate-limiting configuration 2019-04-01 21:40:14 +03:00
Slavi Pantaleev 77359ae867 Synchronize Synapse config with the sample from 0.99.3 2019-04-01 21:22:05 +03:00
Slavi Pantaleev 95e4234dca Update nginx (1.15.9 -> 1.15.10) 2019-04-01 19:54:53 +03:00
Slavi PantaleevandGitHub 14d87e593b Merge pull request #130 from aaronraimist/synapse-0.99.3
Update Synapse (0.99.2 -> 0.99.3)
2019-04-01 19:54:22 +03:00
Slavi PantaleevandGitHub c4a5fc3862 Merge pull request #126 from bibz/master
Specify that cron is likely required on the server (fixes #125)
2019-03-23 12:58:14 +02:00
Slavi Pantaleev 60b0ba379b Update riot-web (1.0.4 -> 1.0.5) 2019-03-22 20:36:23 +02:00
Slavi Pantaleev d9c6884b6a Update mautrix-telegram (0.4.0 -> 0.5.1) 2019-03-22 18:50:41 +02:00
Slavi Pantaleev 73af8f7bbb Make self-check not validate self-signed certificates
By default, `--tags=self-check` no longer validates certificates
when `matrix_ssl_retrieval_method` is set to `self-signed`.

Besides this default, people can also enable/disable validation using the
individual role variables manually.

Fixes #124 (Github Issue)
2019-03-22 09:41:08 +02:00
Slavi Pantaleev 1939fc9113 Improve documentation a bit 2019-03-19 18:23:54 +02:00
Slavi Pantaleev 59e37105e8 Add TLS support to Coturn 2019-03-19 10:24:39 +02:00
Slavi Pantaleev 018aeed5e9 Add support for mounting additional volumes to matrix-coturn 2019-03-19 09:16:30 +02:00
Slavi Pantaleev a50ea0f0a9 Update riot-web (1.0.3 -> 1.0.4) 2019-03-19 08:00:48 +02:00
Slavi Pantaleev 8660cd421e Add example Apache configuration for Dimension
Discussed in #121 (Github Issue).
2019-03-18 21:17:42 +02:00
Slavi Pantaleev d18fe3610f Fix syntax problems in example Apache configuration
Related to #121 (Github Issue)
2019-03-18 20:45:20 +02:00
Slavi Pantaleev 24cf27c60c Isolate Coturn from services in the default Docker network
Most (all?) of our Matrix services are running in the `matrix` network,
so they were safe -- not accessible from Coturn to begin with.

Isolating Coturn into its own network is a security improvement
for people who were starting other services in the default
Docker network. Those services were potentially reachable over the
private Docker network from Coturn.

Discussed in #120 (Github Pull Request)
2019-03-18 17:41:14 +02:00
Slavi Pantaleev c6858d2a08 Define matrix_coturn_turn_external_ip_address in the playbook group vars
This is more explicit than hiding it in the role defaults.

People who reuse the roles in their own playbook (and not only) may
incorrectly define `ansible_host` to be a hostname or some local address.

Making it more explicit is more likely to prevent such mistakes.
2019-03-18 17:04:40 +02:00
Slavi PantaleevandGitHub 0bc751261d Merge pull request #120 from Cadair/turn_config
Add config options to turnserver.conf
2019-03-18 17:00:50 +02:00
Slavi PantaleevandGitHub 221703f257 Merge pull request #118 from verb/systemctl
Use common path for systemctl in lets encrypt cron
2019-03-17 20:55:40 +02:00
Slavi PantaleevandGitHub d5d9a03234 Merge pull request #119 from aaronraimist/update-homeserver-yaml
Update homeserver.yaml with some new options we could enable
2019-03-17 20:54:54 +02:00
Slavi PantaleevandGitHub e65514223e Merge branch 'master' into update-homeserver-yaml 2019-03-17 20:53:52 +02:00
Slavi Pantaleev 2f1662626e Use |to_json for matrix_synapse_push_include_content
Doing this for consistency.

Related to #117 (Github Pull Request).
2019-03-17 20:51:12 +02:00
Slavi PantaleevandGitHub 841033eebb Merge pull request #117 from verb/push
Allow configuring push content for matrix-synapse
2019-03-17 20:50:40 +02:00
Slavi PantaleevandGitHub de6e7ebb4b Merge pull request #116 from lorrin/federation_check
Federation self-check respects matrix_synapse_federation_enabled
2019-03-14 09:00:10 +02:00
Slavi Pantaleev 10d9293121 Indicate that TURN ports are a range 2019-03-13 08:23:10 +02:00
Slavi Pantaleev 2d56ff0afa Skip some uninstall tasks if not necessary to run 2019-03-13 07:40:51 +02:00
Slavi Pantaleev b066f8a0d8 Do not try to start matrix-coturn.service if not enabled 2019-03-13 07:36:28 +02:00
Slavi Pantaleev c545d3eb85 Add support for serving base domain via matrix-nginx-proxy 2019-03-12 23:01:16 +02:00
Slavi Pantaleev e645b0e372 Rename matrix_nginx_proxy_data_path to matrix_nginx_proxy_base_path
`matrix_nginx_proxy_data_path` has always served as a base path,
so we're renaming it to reflect that.

Along with this, we're also introducing a new "data path" variable
(`matrix_nginx_proxy_data_path`), which is really a data path this time.
It's used for storing additional, non-configuration, files related to
matrix-nginx-proxy.
2019-03-12 23:01:16 +02:00
Slavi PantaleevandGitHub 70bc532285 Merge pull request #115 from Plailect/master
Start appservice-irc as non-root
2019-03-12 19:28:49 +02:00
Slavi PantaleevandGitHub c9e2086f19 Merge pull request #114 from NullIsNot0/master
Add option to enable Dimension widgets serve sites with self signed certs
2019-03-12 12:30:25 +02:00
Slavi Pantaleev 1974935bc6 Update docs a bit 2019-03-12 11:38:59 +02:00
Slavi PantaleevandGitHub 3719af1c31 Merge pull request #113 from NullIsNot0/master
Fix Matrix homeserver name in Dimension configuration
2019-03-11 21:03:24 +02:00
Slavi Pantaleev 09d2c76fcb Fix incorrect Docker image name in README 2019-03-11 18:25:12 +02:00
Slavi Pantaleev 4067e09409 Fix rare YAML parsing problems in Dimension config
It's been reported that YAML parsing errors
would occur on certain Ansible/Python combinations for some reason.

It appears that a bare `{{ matrix_dimension_admins }}` would sometimes
yield things like `[u'@user:domain.com', ..]` (note the `u` string prefix).

To prevent such problems, we now explicitly serialize with `|to_json`.
2019-03-10 22:23:06 +02:00
Slavi PantaleevandGitHub 54e79c10a1 Merge pull request #112 from NullIsNot0/master
Fix Dimension documentation
2019-03-10 21:53:33 +02:00
Slavi Pantaleev 52486356e5 Add some more links to Dimension's homepage 2019-03-10 21:43:03 +02:00
Slavi Pantaleev 6745ee4ab6 Add changelog entry for Dimension support
Related to #107 and #111 (Github Pull Requests)
2019-03-10 19:03:04 +02:00
Slavi Pantaleev a1f9869eb2 Improve documentation about getting the playbook 2019-03-10 17:02:20 +02:00
Slavi PantaleevandGitHub 7a1bba77b9 Merge pull request #111 from NullIsNot0/master
Provide Dimension documentation
2019-03-10 16:55:52 +02:00
Slavi Pantaleev 6c5cc173b0 Fix permission mode for some files 2019-03-09 21:15:16 +02:00
Slavi PantaleevandGitHub ecabe8f814 Merge pull request #107 from NullIsNot0/master
Implement self-hosted Dimension server
2019-03-09 20:59:52 +02:00
Slavi Pantaleev 390ec8a599 Skip some tasks when not necessary to run them 2019-03-08 12:14:58 +02:00
Slavi Pantaleev ae7e17e64a Add information about mxisd email template customization
Related to #108 (Github Pull Request).
2019-03-08 12:06:50 +02:00
Slavi PantaleevandGitHub 55cdbefa89 Merge pull request #110 from TheLastProject/patch-1
Fix indenting of generators value
2019-03-08 11:58:52 +02:00
Slavi PantaleevandGitHub 62e2acada5 Merge pull request #104 from dangersalad/master
allow exposing mautrix_telegram port
2019-03-08 08:50:05 +02:00
Slavi PantaleevandGitHub 438327dc58 Merge pull request #109 from TheLastProject/patch-1
Upgrade riot-web to v1.0.3
2019-03-07 15:06:40 +02:00
Slavi PantaleevandGitHub d2a4321b71 Merge pull request #108 from TheLastProject/feature/custom_mxisd_templates
Add support for custom MXISD templates
2019-03-07 14:39:06 +02:00
Slavi Pantaleev aae8757027 Update coturn (4.5.1.0 -> 4.5.1.1) 2019-03-06 19:59:40 +02:00
Slavi Pantaleev 22d72f5e6f Fix incorrectly located file
Related to #105 (Github Pull Request).
2019-03-05 11:31:20 +02:00
Slavi Pantaleev 08aa676338 Update changelog
Related to #105 (Github Pull Request).
2019-03-05 09:23:12 +02:00
Slavi Pantaleev 85c5adfd69 Minor consistency improvements 2019-03-05 09:20:36 +02:00
Slavi Pantaleev a310a01818 Use non-root and no-capability containers during Discord setup
Related to #105 (Github Pull Request).
2019-03-05 09:10:51 +02:00
Slavi Pantaleev 401d7560e9 Make Discord bridging instructions more detailed
It didn't mention `matrix_appservice_discord_client_id` and
`matrix_appservice_discord_bot_token`, which makes it hard for
beginners.

Related to #105 (Github Pull Request).
2019-03-05 09:10:32 +02:00
Slavi PantaleevandGitHub f037f63a07 Merge pull request #105 from Lionstiger/matrix-discord-bridge
Add Support for matrix-appservice-discord
2019-03-05 06:39:46 +00:00