Commit Graph

191 Commits

Author SHA1 Message Date
f88b99b64a spectrum: Improve compatibility with WhatsApp
This sets the default `bridge-compatibility` value to `true`, which
helps solve several compatibility issues with Spectrum.
2022-05-03 17:32:51 +01:00
ff700c7a8a spectrum: Make builds multi-stage, add WhatsApp
Plugins will now be built in separate image stages, and copied into a
pristine image for Spectrum alone.
2022-05-03 15:48:24 +01:00
6f7b2d99ac Improve reliability for prosody-component-register
This would sometimes fail to start cleanly after abrupt shutdowns, and
will now try to converge to a good state before starting.
2022-05-01 14:57:31 +01:00
ba9266110c Add Grafana dashboards for Dovecot, Prosody
This commit adds basic Grafana dashboards for Dovecot and Prosody, to be
automatically deployed alongside the relevant services (if Grafana
itself is enabled).
2022-04-28 23:07:51 +01:00
a6729b476c dovecot: Use group_by, not fields for metric labels
As the former does not do exactly what it says it does in documentation.
Also, we decrease the default scrape interval for Prometheus from 1m to
30s to improve granularity of data.
2022-04-27 20:34:58 +01:00
5d0f8b748c dovecot: Add basic metric definitions
This adds basic metric definitions across a number of different events,
to be expanded upon as needed in the future. Several metrics are given
additional vectors with low cardinality.
2022-04-26 23:30:17 +01:00
011650105b Implement metrics with Grafana and Prometheus
This commit adds two services, `grafana` and `prometheus`, and sets up
some existing services (`dovecot` and `prosody`) to expose metrics into
Grafana. In addition, systemd services have been added to facilitate
registering metrics for services into Prometheus, as well as
automatically provisioning Grafana dashboards based on static JSON
representations.

This work will continue to evolve as more services gain proper Grafana
dashboards, and Loki is also integrated for access to the systemd
journal.
2022-04-25 20:12:06 +01:00
4aba8f73c2 rclone: Update to version 1.58 2022-04-23 13:37:38 +01:00
b86e0831c2 mariadb: Update to version 10.7 2022-04-23 13:35:37 +01:00
2f8a48a014 letsencrypt: Update lego to latest version 2022-04-23 13:35:22 +01:00
115cb1e915 hugo: Checkout correct branch when cloning 2022-04-23 13:35:02 +01:00
3aea8f42d9 hugo: Add service for building Hugo-based sites
By default, a `hugo-build-local@.service` systemd service is included,
for building Hugo-based sites as stored in a local Git repository (as
served by the `git` service), and into a volume (which is intended to be
served by the `nginx-serve-volume` service).
2022-04-18 18:19:14 +01:00
c081adf0b0 rspamd: Update to version 3.2
We also return generated DKIM keys to standard output when the
`rspamd-dkim-generate` service is used.
2022-04-17 12:52:23 +01:00
aba8fc2816 spectrum: Update to latest version 2022-04-17 12:17:53 +01:00
19801ee0f6 coturn: Add reload target for systemd service 2022-04-09 18:28:39 +01:00
454b393805 Fix restart for prosody-component-register
Component registration would fail to clean up correctly, and would try
to incorrectly start when there's no need to do so.
2022-04-04 19:16:04 +01:00
717bd2679c prosody: Improve support for push notifications
This enables the required `muc_offline_delivery` module, and allows for
non-standard push notification filtering extensions.
2022-03-30 19:55:39 +01:00
9e282965bf prosody: Return correct URL for uploaded files 2022-03-23 19:53:26 +00:00
ffea499b5f prosody: Enable C2S direct TLS, disable HTTPS
Direct TLS connections for clients allow for faster connection
establishment, and disabling HTTPS in Prosody fixes use of components
which expect to be exposed via a reverse proxy (such as Nginx).
2022-03-22 22:24:50 +00:00
8d0a76a4f7 prosody: Allow less secure ciphers for old clients
This extends SSL/TLS configuration for client connections to allow for a
set of additional ciphers over the current "intermediate" set of
defaults applied, in support of older clients.
2022-03-22 22:02:33 +00:00
38ded924a9 Update Prosody to version 0.12
This brings a number of changes and improvements, and moves from MariaDB
to SQLite for storage, which requires manual migration for pre-existing
deployments using `prosody-migrator`.
2022-03-22 20:23:07 +00:00
0794c40310 radicale: Update to version 3.1.5 2022-03-15 18:44:35 +00:00
53e7fcd1cb rclone: Copy symbolic links verbatim
Symbolic links are now synchronized verbatim (i.e. the links themselves,
not their destinations) to allow for restoring our pattern of linking to
the latest backup file.

In addition, the destination remote and path can now be configured
individually in drop-in files, but still default to the encrypted
remote.
2022-02-17 21:53:09 +00:00
03b5f7ee24 rclone: Correct ordering for volume backup 2022-02-07 12:19:55 +00:00
f613ce2496 rclone: Fix issues, simplify sync configuration
This commit fixes issues with remote path conflicts in default
configuration, and makes the encrypted transport the default.
2022-02-07 11:34:49 +00:00
9dad5ad2c4 rclone: Add systemd service for transparent backup
This commit adds a new systemd service, `rclone-sync@.service`,
templated against the absolute path of a directory to keep in sync with
a (presumably) remote store.

Support for Backblaze B2 endpoints has been set up by default, but the
specific remote type can be configured via the `RCLONE_REMOTE_TYPE` host
variable. In addition, a default-passthrough remote that encrypts data
against a static password and salt has been defined under the `crypt`
name, and can also be used as the `RCLONE_DEST` of choice.
2022-02-06 20:39:14 +00:00
0fbbc39e27 base: Only copy service directories if used
We no longer copy service directories into `/etc/coreos-home-server` if
these have not had their respective `spec.bu` files included; these
directories are not needed in these cases, and would be erroneously
considered as eligible in subsequent `coreos-home-server-update`
invocations.
2022-02-05 16:05:00 +00:00
c8eed1c3db spectrum: Update to latest version of Discord 2022-02-03 21:37:40 +00:00
ed9168ce32 radicale: Update to version 3.1.4 2022-02-03 21:09:37 +00:00
6e0b9904e9 spectrum: Update to version 2.1.2 2022-02-03 21:09:03 +00:00
f2f4701d2b spectrum: Revert to older version of Discord
As newer versions are problematic.
2022-01-28 00:59:04 +00:00
55d8e80e95 spectrum: Disable Discord QR Code AuthN for now
This appears to be slightly problematic at the moment, and may need to
be revisited in the future.
2022-01-28 00:25:19 +00:00
e0e93542e9 spectrum: Really enable Discord QR Code AuthN 2022-01-27 23:58:39 +00:00
acb861abdb spectrum: Update Discord protocol version 2022-01-27 23:41:13 +00:00
8600c2c69a radicale: Update to version 3.1.3 2022-01-27 23:32:58 +00:00
691f04e4a6 prosody: Update to version 0.11.13 2022-01-27 23:31:30 +00:00
0df33f20de navidrome: Update to version 0.47.5 2022-01-23 12:25:10 +00:00
ad6ef68353 radicale: Update to version 3.1.2 2022-01-23 12:24:49 +00:00
f0205e83b1 radicale: Update to version 3.1.1 2022-01-19 10:47:14 +00:00
1f1137f694 prosody: Update community modules
This contains fixes for `mod_bookmarks2` on version 0.11.
2022-01-15 11:51:05 +00:00
f877a72e83 Flatten directory structures
This commit contains a fairly large diff for a fairly small change:
moving the `config/common` directory to `host/base` to better reflect
its intended use, and promoting `config/service` to the root directory.

These changes unlock some improvements in `coreos-home-server-update`
processes, which will (assuming `/etc/coreos-home-server/base` exists)
keep host-wide systemd services in sync in addition to service-specific
ones.

Changes have been make to the `Makefile` and a few other places where
`config/common` was referenced, but most of this work is renames that
are not intended to break compatibility with new or running servers.
2022-01-15 11:43:33 +00:00