coreos-home-server/service
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
..
attic Move deprecated services to attic 2022-09-22 18:25:14 +01:00
biboumi biboumi: Move to Github, fix correctness issues 2023-12-30 16:19:57 +00:00
coturn coturn: Use dedicated coturn user for daemon 2023-12-22 18:34:37 +00:00
dovecot renovate.json: Fix regex matcher for Containerfile 2023-12-20 23:55:21 +00:00
gitea Use safer curl invocations in Container builds 2023-12-21 16:56:31 +00:00
gotosocial Use safer curl invocations in Container builds 2023-12-21 16:56:31 +00:00
grafana Use safer curl invocations in Container builds 2023-12-21 16:56:31 +00:00
hugo Use safer curl invocations in Container builds 2023-12-21 16:56:31 +00:00
letsencrypt letsencrypt: Move to Debian, source-built image 2023-12-30 17:10:38 +00:00
lldap chore(deps): update docker.io/rust docker tag to v1.74 2023-12-21 12:26:08 +00:00
mariadb mariadb: Facilitate automated version updates 2023-12-22 19:24:25 +00:00
navidrome renovate.json: Fix regex matcher for Containerfile 2023-12-20 23:55:21 +00:00
nginx chore(deps): update dependency nginx/nginx to v1.25.3 2023-12-21 12:20:25 +00:00
postfix renovate.json: Fix regex matcher for Containerfile 2023-12-20 23:55:21 +00:00
prometheus Use safer curl invocations in Container builds 2023-12-21 16:56:31 +00:00
prosody renovate.json: Fix regex matcher for Containerfile 2023-12-20 23:55:21 +00:00
radicale Unify Renovate version matching for v prefix 2023-12-21 12:19:36 +00:00
rclone chore(deps): update docker.io/rclone/rclone docker tag to v1.65.0 2023-12-21 12:21:00 +00:00
redis chore(deps): update dependency redis/redis to v7.2.3 2023-12-21 00:00:53 +00:00
rspamd renovate.json: Fix regex matcher for Containerfile 2023-12-20 23:55:21 +00:00
rss2email Unify Renovate version matching for v prefix 2023-12-21 12:19:36 +00:00
slidge slidge: Update WhatsApp to latest version 2023-12-22 20:10:54 +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.