Commit Graph

74 Commits

Author SHA1 Message Date
Alex Palaistras b499b81c54 Add service for Coturn, a TURN/STUN server
Most importantly, this helps make WebRTC calls in XMPP more reliable
when either (or both) endpoints are behind NAT (as is the case with most
mobile devices), and avoids depending on a third-party service.

Default configuration has been applied in the virtual environment file;
this allows for setting up most host-dependent configuration easily.
2022-01-15 10:18:52 +00:00
Alex Palaistras 1effe81ec7 nginx: Add `nginx-serve-volume` service
This service allows for easy serving of static content in a volume,
typically HTML files in directory structures mapping to the navigation
structure for the content served.
2021-12-06 12:02:52 +00:00
Alex Palaistras 5e7dbcfca0 host/virtual: Proxy more services by default
Navidrome, Radicale, and WriteFreely will now also be exposed by
default, which makes for easier testing from outside the virtual host.
2021-11-27 17:47:18 +00:00
Alex Palaistras a6416f9ea6 Add service for WriteFreely
This commit integrates WriteFreely as a systemd service, set up as a
single-user instance by default (as is probably appropriate for a
home-server setup); a default administrator is set up, and whoever
is managing the home-server is expected to update the username and
password after first login.

Though WriteFreely expects to have a hostname set up for the instance,
we do not listen on any specific hostname by default. It is expected,
rather, that the `nginx-proxy-http` service is used with a drop-in for
using the correct `writefreely` upstream.

Configuration for this will continue to evolve as required.
2021-11-27 17:37:46 +00:00
Alex Palaistras b31beff6f1 Add configuration for Navidrome
Navidrome is a Subsonic/Airsonic-compatible music server with a built-in
web interface, and can be used as a quasi-self-hosted-Spotify-alternative.

By default, music files are read from an empty `navidrome-music` volume,
which is expected to be populated via whatever external means are
available to the server. The workflow here might be improved in the
future.
2021-11-18 22:22:51 +00:00
Alex Palaistras d2b2476cf6 Remove final references to `discord-ircd`
The `discord-ircd` service has been removed as of a few commits ago, but
references to this were not removed entirely. In addition, we now mask,
not disable, the `coreos-home-server-update` timer to ensure this cannot
be re-enabled spuriously.
2021-11-11 20:44:47 +00:00
Alex Palaistras b9d349c516 Makefile: Update to latest CoreOS
This also updates the Ignition compilation dependency resolution to
ignore local file references that have been commented out, and masks the
timer for updating CoreOS configuration in virtual environments, to
avoid overriding any changes made locally.
2021-11-11 20:38:29 +00:00
Alex Palaistras b6b6e1a1cc virtual: Update `localhost` certificates
These had expired a while ago, and have been updated to 10-year
certificates generated with slightly stronger defaults.
2021-09-26 17:32:34 +01:00
Alex Palaistras 14a53e567d rss2email: Add service for RSS feeds to email
This is a basic implementation on top of the venerable `rss2email`
script, and is intended to be driven by a timer and the
`rss2email-subscribe` service, which manages the subscribed feeds.
2021-09-26 17:30:37 +01:00
Alex Palaistras 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
Alex Palaistras 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
Alex Palaistras 4b0ac30354 Introduce host configuration for `lhr01srv` 2021-08-24 19:15:52 +01:00
Alex Palaistras b832deddfe Makefile: Update to latest CoreOS version 2021-08-14 22:30:13 +01:00
Alex Palaistras 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
Alex Palaistras 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
Alex Palaistras 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
Alex Palaistras 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
Alex Palaistras 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
Alex Palaistras 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
Alex Palaistras 606da239dc More fixes for Nginx-backed services 2021-03-28 14:00:17 +01:00
Alex Palaistras 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
Alex Palaistras 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
Alex Palaistras dc2c3a7933 Integrate Biboumi IRC-to-XMPP gateway 2021-03-21 12:23:35 +00:00
Alex Palaistras d9f675817e First public release for CoreOS Home Server
This contains the culmination of work done privately for a few months,
and is intended to be a solid basis for other peoples' experimentations
with setting up single-node, home-server setups using Fedora CoreOS.
2021-03-20 16:32:42 +00:00