coreos-home-server/service
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
..
attic Move deprecated services to attic 2022-09-22 18:25:14 +01:00
biboumi Don't propagate stop to Prosody component state 2023-11-14 18:26:08 +00:00
coturn coturn: Enable and startup on health-checks 2023-10-29 15:56:02 +00:00
dovecot dovecot: Update Grafana dashboard 2023-12-01 15:45:43 +00:00
gitea gitea: Update to version 1.21.1 2023-12-01 15:32:52 +00:00
gotosocial gotosocial: Update to version 0.12.2 2023-11-17 19:07:17 +00:00
grafana Increase start timeout for Prometheus and Grafana 2023-12-14 12:15:50 +00:00
hugo hugo: Update to 0.119.0, start on health-check pass 2023-11-05 16:48:28 +00:00
letsencrypt letsencrypt: Update Lego to version 4.13.3 2023-08-12 16:31:56 +01:00
lldap lldap: Update to version 0.5.0, start on health-check 2023-11-05 17:19:14 +00:00
mariadb Enable Podman auto-updates for Redis and MariaDB 2023-10-29 13:31:27 +00:00
navidrome navidrome: Correct package URL for new version 2023-11-18 00:09:00 +00:00
nginx nginx: Start on health-check pass 2023-11-05 17:43:57 +00:00
postfix postfix: Start on health-check pass 2023-11-05 18:03:42 +00:00
prometheus Increase start timeout for Prometheus and Grafana 2023-12-14 12:15:50 +00:00
prosody prosody: Start on health-check pass 2023-11-17 13:08:04 +00:00
radicale radicale: Start on health-check pass 2023-11-17 13:11:51 +00:00
rclone postfix: Start on health-check pass 2023-11-05 18:03:42 +00:00
redis Enable Podman auto-updates for Redis and MariaDB 2023-10-29 13:31:27 +00:00
rspamd rspamd: Update to 3.7.4, start on health-check 2023-11-17 19:00:28 +00:00
rss2email rss2email: Update CSS for better readability 2022-10-13 19:07:16 +01:00
slidge slidge: Update slidge-whatsapp version 2023-12-14 12:14:17 +00:00
README.md dovecot: Update Grafana dashboard 2023-12-01 15:45:43 +00:00

CoreOS Service Configuration

This directory contains a set of common services available for deployment onto a CoreOS Home Server setup, and managed via systemd and Podman. Each service is given its own subdirectory, and each follows a set of common conventions in laying out its files.

Specifically, for a service example, we might find the following files and directories under the corresponding directory:

  • spec.bu -- This file is typically included by the host configuration, and is intended with installing any additional service files required for enabling the service.

  • Containerfile -- This file is used in building a container image, handled by the container-build@example service and presumably used in the systemd file for the example service.

  • example.env.template -- An optional file containing KEY=value definitions that can then be used in the systemd service. Host-wide environment is also available in this context, and can be used in expanding shared configuration, secrets, etc. This file is used by the container-environment@example service.

  • systemd/ -- This directory contains systemd configuration, to be copied into the host-wide /etc/systemd/system directory. You'll typically find things like example.service files which run the service under Podman, as well as potential one-off services which copy files around in pre-existing Podman containers.

  • quadlet/ -- This directory contains configuration for Quadlet, aka podman-systemd.unit, which allows for generating comprehensive Systemd configuration from more idiomatic templates. Most services will be found as example.container files, installed under /etc/containers/systemd in running systems.

  • container/ -- This directory contains any static files included in the Podman image, including templated configuration, scripts, etc.

  • service/ -- This (largely optional) directory contains files required by the systemd services themselves, and which are not included in the Podman images by default; examples include database migration files, one-off configuration files, etc.

Of all these files, the only ones whose paths are mandated by external services are the Containerfile and <name>.env.template files, neither of which are required by anything other than convention (i.e. you can choose not to build a container image via the systemd service).

Each service here might have additional details on how it's expected to be deployed and used, check the respective README.md files for more information.