Commit Graph

166 Commits

Author SHA1 Message Date
e2e5db3b89 Do not use misleading with_items for a single file 2022-02-11 08:36:05 +02:00
6c47b447e3 Do not use misleading with_items for a single file 2022-02-11 08:35:39 +02:00
a24f7626bd 7330992b20 fixed the major_version compare and made foedora deployments to use setup_redhat8.yml. This however broke the script on fedora as there is no EPEL package. This commit add very basic fedora support. 2022-02-09 16:56:14 +01:00
7330992b20 Do not compare ansible_distribution_major_version as a string
Fedora 35 is:

- `ansible_os_family = 'RedHat'`
- `ansible_distribution_major_version = '35'`

Our RedHat checks against v7/v8 are really for RHEL derivatives (CentOS, Rockylinux,
AlmaLinux), but the same checks (by coincidence) apply for Fedora 35.

The problem is that `'35' > '7'` (comparing these as strings) is
`false`.

This patch makes sure that we always cast
`ansible_distribution_major_version` to an integer.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1610
2022-02-09 16:20:09 +02:00
d27e623c71 fix: manually merge upstream 2022-02-09 09:01:56 +01:00
a095accce7 Replace some CentOS references to support other RHEL derivatives
Not hardcoding 'CentOS' and using the OS family ('RedHat') instead,
we now behave better on Rockylinux and AlmaLinux, etc.

With that said, we may or may not fully support CentOS/Rockylinux/AlmaLinux v8 yet.
Certain things were improved in
https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/300.

v8 support is discussed here: https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/300
Certain things (firewalld?) may still be problematic. This patch does not try to address those.
If the remaining issues are confirmed to be fixed in the future, we can mark v8 as supported.
2022-02-06 18:05:25 +02:00
7e5b88c3b7 fix: all praise the allmighty yamllinter 2022-02-05 21:32:54 +01:00
88b832a818 updated task names leftover from template used 2022-01-19 22:02:20 -08:00
3aa8c1f62c only enable openssl if necessary 2022-01-19 21:58:39 -08:00
4e4fb98a65 Do not install fuse unless necessary
Discussed here: https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1510
2022-01-08 14:14:46 +02:00
0f59c4056e Set up well-known when invoked with the setup-dendrite tag 2022-01-07 16:00:51 +02:00
139c574cdb Move checks from unused validate_config.yml file elsewhere 2022-01-07 16:00:51 +02:00
05b4572fab Fix matrix_dimension_homeserver_federationUrl for Dendrite 2022-01-07 16:00:51 +02:00
965890bf75 Derive secrets from matrix_homeserver_generic_secret_key, not matrix_synapse_macaroon_secret_key
We're trying to move away from implementation-specific variables,
hoping for a clean (implementation-neutral) examples/vars.yml file.
2022-01-07 16:00:42 +02:00
1dfe21944f Make matrix_homeserver_implementation influence matrix_IMPLEMENTATION_enabled, not the other way around
Doing this seems more reasonable and simpler.
2022-01-07 15:59:35 +02:00
2bd33e5cf2 Make --tags=register-user work for both Dendrite/Synapse
Also get rid of `--tags=update-user-password` in the
`matrix-dendrite` role, as what we had doesn't work.

We may be able to do it with some Ansible helper or something else.
For now, we'll omit this feature.
2022-01-07 15:59:35 +02:00
3cf9f87097 Add matrix_homeserver_implementation, tracking the current homeserver implementation
The goal is to have a single variable which tells us which homeserver
software is in use. Much simpler than having if/elif/elif checks for
variables like (`matrix_synapse_enabled` and `matrix_dendrite_enabled`, etc.)
everywhere.
2022-01-07 15:59:35 +02:00
5788a16a2e added matrix-client-cinny 2022-01-05 18:33:21 +02:00
61391647e9 Make /.well-known/matrix/client and /.well-known/matrix/server customizable
We recently had someone need to inject additional configuration into
`/.well-known/matrix/client` as described here:
22b245bbd1/docs/bigbluebutton.md (have-dimension-create-meetings-with-elements-video-call-button)

There may be other use cases as well.
2021-11-26 15:28:03 +02:00
d3a9ec98de refactoring 2021-11-16 21:03:21 +02:00
1ec67f49b0 replaced 8008 where possible 2021-11-15 22:43:05 +02:00
6f99f95aa2 Merge branch 'master' of https://github.com/spantaleev/matrix-docker-ansible-deploy into add-support-for-suse-linux 2021-10-08 10:27:32 +02:00
b4b14539a7 Use ntp (instead of systemd-timesyncd) on Ubuntu 18.04
Seems like Ubuntu 18.04 does not have a dedicated `systemd-timesyncd` package, nor
does it include the `systemd-timesyncd` binary in the main `systemd` package.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1302

Regression since https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1192
2021-09-28 13:38:27 +03:00
Jan
0ed585baa7 Archlinux: remove package systemd-timesyncd
#1192 lead to the following error for me on Archlinux:
`TASK [matrix-base : Install host dependencies] *******************************************************************************************************************************
fatal: [matrix.***.de]: FAILED! => changed=false 
  msg: |-
    failed to install systemd-timesyncd: error: target not found: systemd-timesyncd`

There is no package called `systemd-timesyncd` on Archlinux. The service is installed with the [`systemd`](https://archlinux.org/packages/core/x86_64/systemd/) package itself.

I suggest removing the `systemd-timesyncd` from 2453876eb9/roles/matrix-base/tasks/server_base/setup_archlinux.yml (L7)
2021-09-26 11:48:03 +02:00
4f841a7001 Merge pull request #1192 from sakkiii/patch-1
migrate from ntp to systemd-timesyncd for ubuntu & Archlinux
2021-09-25 10:15:40 +03:00
f364fba182 Fix tripping on timesync setup 2021-09-14 08:35:20 +02:00
2453876eb9 Update main.yml 2021-08-31 16:24:26 +05:30
087a5d62f1 systemd-timesyncd for any archlinux version 2021-08-31 15:53:59 +05:30
df82ec13b2 docker-ce is now available for Debian Bullseye 2021-08-16 08:44:02 -05:00
4a2b169fc9 systemd-timesyncd for ubuntu 2021-07-22 23:42:53 +05:30
7f0b8fef0a Merge branch 'spantaleev:master' into patch-1 2021-07-21 23:50:19 +05:30
5209a17da1 migrate from ntp to chrony 2021-07-19 23:11:30 +05:30
5df4d68829 Make federation domain customizable 2021-06-30 23:02:27 +02:00
72bc9b5cfc Add support for CentOS (Stream) 8 2021-06-12 10:49:38 +02:00
ca361af616 Add Hydrogen 2021-05-15 04:23:36 -05:00
3d2142f88b Add sanity check for server architecture 2021-04-10 16:14:32 -05:00
93960b70be Do not fail if _matrix-identity DNS SRV record missing
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/963

This also simplifies Prerequisites, which is great.

It'd be nice if we were doing these checks in some optional manner
and reporting them as helpful messages (using
`matrix_playbook_runtime_results`), but that's more complicated.
I'd rather drop these checks completely.
2021-03-30 11:24:04 +03:00
9a0222fa47 Add Sygnal support
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/683
2021-03-20 13:32:22 +02:00
51e2547484 Added support for the Go-NEB bot 2021-03-11 19:23:01 +01:00
5cfeae806b Merge branch 'master' into synapse-workers 2021-02-14 13:00:57 +02:00
85a260daaf Make --tags=setup-prometheus not break, relying on matrix-base facts 2021-02-12 11:59:24 +02:00
144a5e6198 Register docker network info and use it for prometheus-node-exporter
Using the hardcoded IP did break while I was
messing with IPv6 stuff on the other branch
2021-02-10 22:54:42 +01:00
989100b1c1 Grafana nginx proxy config 2021-02-10 22:54:14 +01:00
e0e459ac0c Fixed missing quotes 2021-01-30 11:58:24 +01:00
473936065d Use Debian Buster Docker repo on Debian Bullseye
Future maintainer: check on https://docs.docker.com/engine/install/debian/ if Docker for
Debian 11 is released, then undo this commit
2021-01-30 09:02:41 +01:00
d98a1ceadd Merge branch 'master' into synapse-workers 2021-01-27 10:27:17 +02:00
512f42aa76 Do not report docker kill/rm attempts as errors
These are just defensive cleanup tasks that we run.
In the good case, there's nothing to kill or remove, so they trigger an
error like this:

> Error response from daemon: Cannot kill container: something: No such container: something

and:

> Error: No such container: something

People often ask us if this is a problem, so instead of always having to
answer with "no, this is to be expected", we'd rather eliminate it now
and make logs cleaner.

In the event that:
- a container is really stuck and needs cleanup using kill/rm
- and cleanup fails, and we fail to report it because of error
suppression (`2>/dev/null`)

.. we'd still get an error when launching ("container name already in use .."),
so it shouldn't be too hard to investigate.
2021-01-27 10:22:46 +02:00
70dcdd41a7 Simplify matrix-remove-all
We don't have instantiated services anymore, nor
/etc/systemd/system/matrix-synapse.service.wants/ stuff.
2021-01-25 14:02:30 +02:00
d3ecc6f017 Fix bridges failing to upload media when Synapse workers are enabled 2021-01-25 13:55:08 +02:00
c05d3d09bd Disable systemd services while stopping them
This removes some `multi-target.wants` symlinks as well, etc.

But despite systemd saying:

> Removed symlink /etc/systemd/system/matrix-synapse.service.wants/matrix-synapse-worker@appservice:0.service

.. I still see such symlinks tehre for me for some reason, so keeping the
code (below) to find & delete them still seems like a good idea.
2021-01-25 08:58:23 +02:00