coreos-home-server/service
Alex Palaistras 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
..
biboumi base: Only copy service directories if used 2022-02-05 16:05:00 +00:00
coturn coturn: Add reload target for systemd service 2022-04-09 18:28:39 +01:00
dovecot Fix Grafana dashboard data-source names 2022-05-09 13:59:49 +01:00
git base: Only copy service directories if used 2022-02-05 16:05:00 +00:00
gitea Add Gitea for managed code hosting 2022-07-23 17:01:27 +01:00
grafana Implement metrics with Grafana and Prometheus 2022-04-25 20:12:06 +01:00
hugo hugo: Watch for changes with hugo watch 2022-07-11 21:18:23 +01:00
letsencrypt letsencrypt: Update to Lego version 4.8.0 2022-07-11 21:24:19 +01:00
mariadb Revert "mariadb: Update to version 10.8" 2022-07-21 01:07:31 +01:00
navidrome base: Only copy service directories if used 2022-02-05 16:05:00 +00:00
nginx nginx: Update to latest version 2022-07-11 21:23:54 +01:00
postfix postfix: Use recommended method for service start 2022-07-11 21:22:38 +01:00
prometheus dovecot: Use group_by, not fields for metric labels 2022-04-27 20:34:58 +01:00
prosody prosody: Update to version 0.12.1 2022-06-20 19:49:09 +01:00
radicale radicale: Update to version 3.1.5 2022-03-15 18:44:35 +00:00
rclone Improve backups, introduce remote restore 2022-07-17 19:38:10 +01:00
redis base: Only copy service directories if used 2022-02-05 16:05:00 +00:00
rspamd rspamd: Update to version 3.2 2022-04-17 12:52:23 +01:00
rss2email rss2email: Use volume mounts for subscriptions 2022-07-11 21:20:55 +01:00
spectrum spectrum: Update go-whatsapp to latest version 2022-07-14 20:54:19 +01:00
writefreely base: Only copy service directories if used 2022-02-05 16:05:00 +00:00
README.md Flatten directory structures 2022-01-15 11:43:33 +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.

  • 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.