Commit Graph

201 Commits

Author SHA1 Message Date
d6e9b9db4d Run Prosody, LetsEncrypt as root
This is until we figure out the permissions issues that are causing
service failures.
2021-09-19 17:34:30 +01:00
fa1b87af5a discord-ircd: Run container as root, daemon as user
This allows us to do some early setup tasks as root, which are then
required for the correct operation of the daemon.
2021-09-19 17:30:34 +01:00
ea1769d67a lhr01srv: Install to RAID array directly
Previous experiments in using the RAID array as simple storage, with an
implied installation to a secondary medium (an SSD on port 5) failed,
and a simpler alternative has been reached.
2021-09-19 13:32:30 +01:00
c730ec37f0 postfix: Use strict encryption for SMTPS, Submission
The SMTPS (465) And Submission (587) ports expect encryption, either
implicitly (i.e. via direct TLS connection) or explicitly (i.e. via
STARTTLS), but this was not enforced previously. Port 25 remains
configured for opportunistic encryption, but will still not allow for
authentication over unencrypted transports.
2021-09-19 13:30:06 +01:00
16ddc3ab79 Use 'bullseye-slim' image for volume backup
This is more likely to be available when these services are called, and
does not need to be pulled opportunistically.
2021-09-18 19:48:56 +01:00
377ad0e89b hooks/post-merge: Don't delete .env files
These are required for active services, and can cause issues if deleted
in certain cases.
2021-09-12 22:20:04 +01:00
4f5c2a3a90 hooks/post-merge: Set file timestamps for updates
Partial updates require that source files have appropriate timestamps,
which Git does not set in any special way by default. Thus, before
attempting to update files in-place, we set source timestamps based on
last commit time, which is the effective update time in any case.
2021-09-12 22:08:51 +01:00
100951c118 Update to latest CoreOS version
This partially reverts default network configuration, which will now
implicitly create the specified network without the ability to set
default plugins.

Templated services are also no longer enabled by default, but expect to
be enabled as part of concrete patterns.
2021-09-08 18:45:04 +01:00
67e8a28b8f Correct issues with 'post-merge' hook
The use of 'rsync' is not compatible with the SELinux setup used in
CoreOS, and thus simple use of 'cp' and 'rm' is required.
2021-09-08 18:29:54 +01:00
253deb7176 hooks/post-merge: Fix incorrect ROOTDIR directive 2021-09-07 22:21:32 +01:00
231a6f529b Add automated update service, 'post-merge' hook
This allows for semi-unattended updates for home-server configuration
for managed systems, and is run once every hour by default.
2021-09-07 21:45:25 +01:00
79231c37f1 Set generic Podman defaults and per-service log IDs
Defaults for Podman that were previous applied as command-line arguments
to all `podman run` or `podman create` invocations are now specified in
a dedicated configuration file.

Services are also better identified against their name rather than the
generic `podman` ID derived from the `ExecStart` invocations.
2021-08-28 22:27:54 +01:00
6c28399c83 Makefile: Update to latest CoreOS version 2021-08-28 12:51:23 +01:00
132c804089 Fix title-casing for service descriptions 2021-08-28 12:51:11 +01:00
e971bb11cc Update images and applications to latest versions
This includes setting the Debian base image to a specific release rather
than the generic `stable` version, which can cause issues when assuming
package versions or external repository status.
2021-08-27 19:20:58 +01:00
4b0ac30354 Introduce host configuration for lhr01srv 2021-08-24 19:15:52 +01:00
e652b42eb7 Makefile: Use shell expansion more consistently 2021-08-15 20:26:41 +01:00
896ba3f4c5 mariadb: Don't enable migration systemd service
This is intended to be defined as a dependency to other services, and
should not be run on its own by default.
2021-08-14 23:48:12 +01:00
78266f4d15 Makefile: Improve bare-metal deploy target 2021-08-14 23:47:54 +01:00
55e8315dc7 service/prosody: Update to latest version 2021-08-14 22:38:24 +01:00
41328342b3 Implement basic volume backup and restore mechanism
This commit implements three new services, specifically:

  - The `container-volume` service, which applies to a specific volume
    name and ensures this exists. This is mainly useful as a dependency
    to other services, as Podman will create named volumes itself if
    needed.

  - The `container-volume-backup` service, which creates a `tar.gz`
    snapshot of the given volume's contents in `/var/lib/backups`.

  - The `container-volume-restore` service, which populates an empty
    volume from a pre-existing file in `/var/lib/backups`, presumably
    created by `container-volume-backup`.

These are then be used to automatically create volume snapshots every 12
hours, rolling over every 7 days.
2021-08-14 22:38:17 +01:00
b832deddfe Makefile: Update to latest CoreOS version 2021-08-14 22:30:13 +01:00
a4580e1cae Improve service initialization, move system files
System files are moved to `/etc/coreos-home-server` to be unambiguous
in relation to other, pre-installed system files. Long-running services
are also now defined as `Type=notify`, which helps improve ordering and
dependencies.
2021-08-14 22:28:28 +01:00
ef7951dd72 container-build: Don't apply '--no-cache' option
This was changed recently to help with re-building container images with
side-effects, but causes other issues and delays.
2021-08-01 23:38:05 +01:00
f0c2d09e43 Makefile: Update to latest CoreOS version 2021-08-01 23:37:49 +01:00
010e9ba14c git: Verify SSH keys when added 2021-08-01 23:37:30 +01:00
75765576dc Fix various issues
The fixes here include typos, removals of deprecated paths, fixes for
first-boot-only systemd targets and related MariaDB migrate machinery,
better logging for Postfix, and an increase in the default request body
size for the default NGINX ingress.
2021-08-01 22:31:25 +01:00
40823a31de host/lhr01nuc: Add default update strategies
These are more wary and operate on a weekend upgrade window, which is
likely when a side-project will have more time and focus.
2021-08-01 22:29:25 +01:00
7d9560cbdb Move 'host.env' file to '/etc/container-service'
This consolidates configuration specific to the CoreOS home-server
setup, and thus makes this easier to manage.
2021-08-01 22:28:22 +01:00
15315d34fe Add Spectrum2 IM transport for XMPP 2021-07-29 00:14:00 +01:00
950dd3a13c container-build: Don't re-use cached layer by default
This allows container builds to use latest remote state, if available,
without having to build versioning into the container files themselves.
2021-07-24 15:57:39 +01:00
6859168b8c Don't use PrivateTmp for Podman services
The various `Private` systemd options will conflict with namespacing
used by Podman, which in turn causes issues with other services.
2021-07-24 15:56:08 +01:00
1bc04af944 Implement reload targets for more services 2021-07-24 15:55:37 +01:00
b9e2029df8 Makefile: Update to latest CoreOS version 2021-07-24 14:52:31 +01:00
176f65f998 nginx: Fix issues, consolidate naming
Naming for services has been consolidated to `nginx-proxy` and
`nginx-serve`, and issues with resolving underlying containers in the
case of restarts have been fixed by way of resolver configuration.
2021-07-24 14:52:27 +01:00
3ace3b517b git: Reuse host keys, add Github key authorization 2021-06-30 22:41:32 +01:00
e0b7b635ab Makefile: Update to latest CoreOS version
And introduce a `purge` target, intended to supplant the current `clean`
target, in allowing the latter to be used to clean Butane configuration
without removing any cached images.
2021-06-27 18:36:15 +01:00
3254ead3a7 Simplify systemd services, use volumes
This commit represents a large amount of work toward moving services to
a more standard approach to storing data, and a simplification in how
networks are managed.
2021-06-27 18:36:06 +01:00
318305be5b Move from FCCT to Butane
This reflects a change in the upstream project. A number of other fixes
have been made.
2021-05-09 13:05:34 +01:00
83fa08d4b7 Don't publish ports for Radicale
These will, in general, be proxied into by the HTTP ingress, and do not
need to be exposed on the host itself.
2021-04-03 16:16:11 +01:00
606da239dc More fixes for Nginx-backed services 2021-03-28 14:00:17 +01:00
fb7d7eaa22 Use podman run instead of create && start
And correctly remove containers if systemd services are stopped.
2021-03-27 23:03:56 +00:00
b3ab5a6ce3 Fix various issues with Nginx containers 2021-03-27 18:44:19 +00:00
ffb3fe2bcd Move Nginx Ingress services to own network 2021-03-27 11:19:45 +00:00
aafa8d9f12 Move systemd files to separate folders
This will help make subsequent synchronization with hosts easier, as
systemd files and potential dropins are guarnateed to exist under a
certain hierarchy that can be dropped as-is into host configuration
directories.
2021-03-26 20:47:08 +00:00
a9fd93097e
Merge pull request #1 from deuill/rdircd
Integrate Reliable Discord-Client IRC Daemon
2021-03-25 18:49:09 +00:00
096fb6e2f8 Integrate Reliable Discord-Client IRC Daemon
This is intended to connect via Biboumi, which in turn is used by
Prosody in connecting Discord with XMPP.
2021-03-23 23:59:37 +00:00
dc2c3a7933 Integrate Biboumi IRC-to-XMPP gateway 2021-03-21 12:23:35 +00:00
65e15b036e postfix: Correct use of invalid POSTFIX_ env
These were likely due to copy-paste misses, and cause issues with
connecting to the underlying mail database.
2021-03-21 00:19:46 +00:00
4309b3d093 Consolidate use of apt-get update in containers
We no longer perform `apt-get upgrade`, and make indentation consistent
between different Containerfile definitions.
2021-03-21 00:16:51 +00:00