Commit Graph

60 Commits

Author SHA1 Message Date
6e9a9e5b1b gitea: Update to latest version 2022-08-25 22:23:51 +01:00
0b3a6940cb gitea: Update configuration
Pushing will now create private repositories by default, and a number of
other configuration issues have been fixed.
2022-07-24 10:43:17 +01:00
e467b89e7f Add Gitea for managed code hosting
This commit adds a new service for Gitea, exposing HTTP and SSH ports by
default (SSH over 7920), and accepting authentication via the local SMTP
server. No users are otherwise created by default, and administration is
expected to happen either via CLI, or via a custom admin user.
2022-07-23 17:01:27 +01:00
786af62d5a Revert "mariadb: Update to version 10.8"
This reverts commit e17b0de11f due to
issues with InnoDB database schemata.
2022-07-21 01:07:31 +01:00
dad3d1c12c Improve backups, introduce remote restore
Container volume backup logic has been moved to a (largely equivalent)
external script, allowing for future expansion of functionality. In
addition, a `rclone-pull@` service has been added and set up as a default
dependency for the `container-volume-restore@` service, allowing for
automatic set up of servers based on latest remote backups.
2022-07-17 19:38:10 +01:00
7a0920c385 spectrum: Update go-whatsapp to latest version 2022-07-14 20:54:19 +01:00
84cdb1f270 letsencrypt: Update to Lego version 4.8.0 2022-07-11 21:24:19 +01:00
e17b0de11f mariadb: Update to version 10.8 2022-07-11 21:24:02 +01:00
e1c2717c8a nginx: Update to latest version 2022-07-11 21:23:54 +01:00
de1627f4a6 postfix: Use recommended method for service start
This commit updates Postfix to the latest version available for Debian
Bullseye, and switches the Docker entrypoint from an internal to a
publicly documented command, which is guaranteed to work in the future.
2022-07-11 21:22:38 +01:00
38a7ae1587 rclone: Update to latest version 2022-07-11 21:22:14 +01:00
bef546cb79 rss2email: Use volume mounts for subscriptions
This commit updates to the latest version of RSS2Email, and uses
`podman volume mount` rather than ephemeral containers for affecting
changes.
2022-07-11 21:20:55 +01:00
da043fce5e hugo: Watch for changes with hugo watch
In addition to changes made when Git repositories update, Hugo is able
to watch for timed changes to content (say, for content that has a
publication date in the future) and build these automatically.

This commit switches from a plain `hugo build` to a `hugo watch` process
to facilitate these use-cases.
2022-07-11 21:18:23 +01:00
c1e326d211 prosody: Update to version 0.12.1 2022-06-20 19:49:09 +01:00
10deb13f76 Fix Grafana dashboard data-source names
These were prepared as import-able dashboards, which prepares common
options as variables to be provided by the user, and thus is not
compatible with automated provisioning.
2022-05-09 13:59:49 +01:00
80b3a5365e spectrum: Reduce logging level to warn
The default logging output for Spectrum is quite noisy, even at `info`
level, and so we're better served by setting to the more useful `warn`
level.
2022-05-04 12:22:22 +01:00
4d26ccb8eb nginx: Add default user to shared GID=10000
Users and groups used within Podman containers are usually assigned UID
and GID 10000. Files for these containers are sometimes served by Nginx,
and may be given permissions that restrict access to those outside the
group, but which are intended to be served nonetheless.

This commit adds the pre-defined `nginx` user to a `nginx-shared` group
with GID 10000, which will then allow access to these files as needed.
2022-05-04 11:29:53 +01:00
fff2b222bb spectrum: Add support for re-hosting shared media
This enables the `web_directory` and `web_url` options for Spectrum,
which has media shared by legacy protocol buddies be re-hosted by
Spectrum, and shared by a dedicated volume.

This, in turn, is served by the `nginx-serve-volume@spectrum-media`
service, which is intended to be proxied under the same host used for
Prosody. Documentation for the integration will be added in future
commits.
2022-05-03 18:18:02 +01:00
6ca42cad7e spectrum: Handle URL-only messages as media files 2022-05-03 17:41:32 +01:00
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