Commit Graph

14 Commits

Author SHA1 Message Date
d8a4b7874f Skip container builds unless local files changed
This commit adds an `ExecCondition` directive on the `container-build@`
service, used as a pre-requisite for all other Podman-based services,
skipping `podman build` invocations unless local `Containerfile` or any
files in the `container` sub-directories have changed.

Container builds are responsible for the majority of time taken during
boot, even with cache in place; this will help alleviate pressure and
hopefully speed up boot considerably.
2023-12-20 19:50:39 +00:00
36e1e3039e coturn: Enable and startup on health-checks 2023-10-29 15:56:02 +00:00
fcf9175060 Enable Podman auto-updates for Redis and MariaDB
Container auto-updates are scheduled for 30 minutes past every hour, or
approximately 30 minutes after `coreos-home-server-update` runs, in
order to give enough time for container builds to complete; only
containers with auto-updates enabled are eligible, however.

This also enables health-checks for Redis, and updates the version to
7.2.
2023-10-29 13:31:27 +00:00
3943c51181 Remove concrete unit files for generated ones
Podman-generated systemd unit files aren't usually generated into
`/etc/systemd/system`, and this directory is preferred for any
pre-existing unit files.
2023-08-12 13:21:31 +01:00
8daef2903a Generate services with Quadlet after CoreOS update
This is to work around issues where generators don't seem to run on
`daemon-reload` as they should, and may be reverted some time in the
future.
2023-08-11 20:58:44 +01:00
c5a6208e6a redis: Move to container unit, Debian Bookworm
The container file is now directly based on Debian Bookworm, and uses
official Debian packages.
2023-08-11 20:12:23 +01:00
48abe1c3db Improve virtual environment
Virtual environments now re-use names, to prevent accumulation of older
environments when updating versions.
2022-10-13 18:59:57 +01:00
bafdb80fa2 rss2email: Add custom CSS template 2022-10-04 12:27:30 +01:00
84a17f6df3 Support same-name directories in CoreOS update
This commit extends our `coreos-home-server-update` script with support
for updating host directories with configuration collected across
multiple remote directories of the same name. This will, essentially,
allow for extending systemd services with custom configuration, as
sometimes required of base systemd service files.
2022-09-19 13:02:29 +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
4fc786219a container-volume-backup: Use symlink to latest file
Pointers to the latest backup are useful for restore operations, but
should be ignored in all other cases, and thus are more appropriately
handled as symbolic links.
2022-02-07 11:10:38 +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
4636730d32 Implement minor improvements for volume backups
Container volume backups will now be skipped if no changes have been
made in source files against the latest backup. In addition the default
timer has been changed for performing backups once a day, at 02:00,
likely a time where there's less traffic on the server.
2022-02-05 16:01:22 +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