Commit Graph

576 Commits

Author SHA1 Message Date
Alex Palaistras 524384051d dovecot: Consolidate container build instructions
This improves cacheability of layers by consolidating instructions
across different container builds. Future work will involve installing
from an external binary repository.
2024-01-02 15:31:49 +00:00
Alex Palaistras a43f5a0c1f gotosocial: Use ADD, not curl, in package download 2023-12-31 12:29:09 +00:00
Alex Palaistras 30217f74a8 gotosocial: Move to multi-stage container build 2023-12-30 19:21:47 +00:00
Alex Palaistras 2a8d56e17e container-build: Use `bash` for `ExecCondition`
Since `sh` may point to a POSIX shell, and brace expansion is undefined there.
2023-12-30 18:39:26 +00:00
Alex Palaistras 005f4c33d5 letsencrypt: Fix hook invocations 2023-12-30 17:36:21 +00:00
Alex Palaistras c17b4e91c8 coturn: Make container builds more consistent 2023-12-30 17:13:32 +00:00
Alex Palaistras faa0420931 letsencrypt: Move to Debian, source-built image
This makes container builds more consistent, and therefore more
cacheable in relation to other containers.

In addition, certificates and keys are now copied to two separate
volumes, one containing all certificates (for use in services like
`nginx`, which may require unfettered access to certificates) and one
containing certificates only for a specific domain, for use in most
other cases.
2023-12-30 17:10:38 +00:00
Alex Palaistras e9924cb0e9 biboumi: Move to Github, fix correctness issues 2023-12-30 16:19:57 +00:00
Alex Palaistras 69caede2b0 slidge: Update WhatsApp to latest version 2023-12-22 20:10:54 +00:00
Alex Palaistras ab12d60d31 Tag existing images with `previous` on re-build
Container builds using the `container-build@` systemd service will
generally tag any container image built with the `latest` tag, which is
then referred to pervasively in container executions.

However, this tag is overwritten when building new images, and, combined
with how `podman auto-update` will prune old image digests, may cause us
to lack the ability to roll back, automatically or otherwise.

This commit sets a `previous` tag on container re-builds, which should
only generally happen when source files change (due to the `ExecCondition`)
present on the service, which in turn should ensure that images are not
spuriously tagged as such.
2023-12-22 19:27:40 +00:00
Alex Palaistras 4a022d3918 mariadb: Facilitate automated version updates
This sets the `MARIADB_AUTO_UPGRADE` environment variable, used by the
base MariaDB image in applying schema changes, as generally necessary
when performing minor or major upgrades.
2023-12-22 19:24:25 +00:00
renovate[bot] e842d9a4e4 chore(deps): update docker.io/mariadb docker tag to v10.11 2023-12-22 18:38:04 +00:00
Alex Palaistras f7a92c7acf coturn: Use dedicated `coturn` user for daemon
Previously, we'd use the Debian-provided `turnserver` user, which is no
longer available in source builds; we now create and use a dedicated
`coturn` user for more consistency with other services.
2023-12-22 18:34:37 +00:00
Alex Palaistras ffac219286 coturn: Add required runtime dependencies 2023-12-22 18:27:40 +00:00
Alex Palaistras f7321a92eb renovate: Auto-merge minor and patch updates 2023-12-22 18:22:03 +00:00
Alex Palaistras 151f571700 biboumi: Add `ca-certificates` build dependency 2023-12-22 18:13:12 +00:00
Alex Palaistras 8f3773a780 coturn: Move to source-built image, version 4.6.2
This also improves base image caching by re-using as many initial steps
as possible.
2023-12-22 17:54:13 +00:00
Alex Palaistras f9351e64eb biboumi: Move to source-built image, better cache
We now depend on upstream source to be more flexible with respect to
updates, and re-order running image layers for better caching.
2023-12-22 11:36:47 +00:00
Alex Palaistras f710c4846f Use safer `curl` invocations in Container builds
Calls to `curl` will now use the `--fail` option, in addition to
`--silent` and `--show-error`, in an effort to catch issues with server
or client-side errors.
2023-12-21 16:56:31 +00:00
Alex Palaistras dd570cc4b0 gitea: Fix version extraction for Renovate 2023-12-21 16:52:38 +00:00
Alex Palaistras a00807bd5f slidge: Fix Renovate definitions for auto-updates 2023-12-21 13:00:52 +00:00
renovate[bot] 835d896ee0 chore(deps): update docker.io/rust docker tag to v1.74 2023-12-21 12:26:08 +00:00
renovate[bot] 986fd11955 chore(deps): update dependency grafana/grafana to v10.2.3 2023-12-21 12:25:19 +00:00
renovate[bot] 4538e9b0ae chore(deps): update docker.io/rclone/rclone docker tag to v1.65.0 2023-12-21 12:21:00 +00:00
renovate[bot] 5c92dbe13e chore(deps): update dependency gohugoio/hugo to v0.121.1 2023-12-21 12:20:42 +00:00
renovate[bot] 22ce725ad7 chore(deps): update dependency nginx/nginx to v1.25.3 2023-12-21 12:20:25 +00:00
Alex Palaistras 39ef7132c6 Unify Renovate version matching for `v` prefix 2023-12-21 12:19:36 +00:00
renovate[bot] d07e7f5025 chore(deps): update docker.io/golang:1.21-bookworm docker digest to 1415bb0 2023-12-21 12:13:30 +00:00
renovate[bot] 4c201be9d4 chore(deps): update dependency go-gitea/gitea to v1.21.3 2023-12-21 12:13:06 +00:00
renovate[bot] 63b28ea2a6 chore(deps): update dependency prometheus/prometheus to v2.48.1 2023-12-21 00:03:18 +00:00
renovate[bot] 20ad7a4488 chore(deps): update dependency redis/redis to v7.2.3 2023-12-21 00:00:53 +00:00
renovate[bot] ac890e6a29 chore(deps): update docker.io/goacme/lego docker tag to v4.14.2 2023-12-20 23:58:05 +00:00
Alex Palaistras ad155d765e renovate.json: Fix regex matcher for Containerfile 2023-12-20 23:55:21 +00:00
renovate[bot] ddefd2a959 chore(deps): pin dependencies 2023-12-20 23:17:49 +00:00
Alex Palaistras 952df3d324 Update service versions with Renovate
This adds basic configuration for Renovate, and sets up most services
for automated updates to package versions.
2023-12-20 23:00:19 +00:00
Alex Palaistras 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
Alex Palaistras 8e408413a1 gitea: Update to version 1.21.2 2023-12-15 16:47:06 +00:00
Alex Palaistras b234163cc5 navidrome: Update to version 0.50.2 2023-12-15 16:46:47 +00:00
Alex Palaistras 7c456c4f31 gotosocial: Update to version 0.13.0 2023-12-15 16:46:22 +00:00
Alex Palaistras d8802ffd18 rspamd: Update version to 3.7.5 2023-12-15 16:42:51 +00:00
Alex Palaistras 1a7b819b2c slidge: Pin to version 0.4.7 for GoPy 2023-12-14 13:51:33 +00:00
Alex Palaistras 733130db8d Increase start timeout for Prometheus and Grafana
Containers for Prometheus and Grafana can take longer to start due to
migrations on large databases etc., which in turn can cause systemd to
kill these mid-execution.
2023-12-14 12:15:50 +00:00
Alex Palaistras c7eec07f55 slidge: Update `slidge-whatsapp` version 2023-12-14 12:14:17 +00:00
Alex Palaistras 2bf0009773 slidge: Update plugins to newest versions 2023-12-07 21:39:13 +00:00
Alex Palaistras b6da57b47a Update Grafana dashboard for Node Exporter 2023-12-04 17:31:01 +00:00
Alex Palaistras c5fa13b613 Update Grafana dashboard for Podman metrics 2023-12-04 17:17:03 +00:00
Alex Palaistras 6199425956 prometheus: Add exporter for container metrics
This also adds a basic Grafana dashboard for Podman, to be updated later.
2023-12-04 10:57:23 +00:00
Alex Palaistras b123008850 dovecot: Update Grafana dashboard 2023-12-01 15:45:43 +00:00
Alex Palaistras bade3f82ea gitea: Update to version 1.21.1 2023-12-01 15:32:52 +00:00
Alex Palaistras 145f5f29bf prometheus: Add systemd collector, fix dashboard 2023-12-01 15:31:52 +00:00