From 9d8aa49b31ed5422b8d39e3c58b8fec155189dfb Mon Sep 17 00:00:00 2001 From: IamTheFij Date: Sun, 13 Aug 2023 20:53:11 -0700 Subject: [PATCH] Improve README.md documentation Gove more details in README.md --- README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/README.md b/README.md index dfe65d4..0e553b6 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ My configuration for creating my home Nomad cluster and deploying services to it. +This repo is not designed as general purpose templates, but rather to fit my specific needs. That said, I have made an effort for things to be as useful as possible for someone wanting to use or modify this. + ## Running make all @@ -16,6 +18,29 @@ After this is complete, Ansible variables must be set for services to access and Finally, the Terraform configuration can be applied setting up all services deployed on the cluster. +The configuration of new services is intended to be as templated as possible and to avoid requiring changes in multiple places. For example, most services are configured with a template that provides reverse proxy, DNS records, database tunnels, database bootstrapping, metrics scraping, and authentication. The only real exception is backups, which requires a distinct job file, for now. + ## What does it do? +* Nomad cluster for scheduling and configuring all services +* Blocky DNS servers with integrated ad blocking. This also provides service discovery +* Prometheus with autodiscovery of service metrics +* Loki and Promtail aggregating logs +* Minitor for service availability checks +* Grafana providing dashboards, alerting, and log searching +* Photoprism for photo management +* Remote and shared volumes over NFS +* Authelia for OIDC and Proxy based authentication with 2FA +* Sonarr and Lidarr for multimedia management +* Automated block based backups using Restic + ## Step by step + +1. Update hosts in `ansible_playbooks/ansible_hosts.yml` +2. Update `ansible_playbook/setup-cluster.yml` + 1. Update backup DNS server + 2. Update NFS shares from NAS + 3. Update volumes to make sure they are valid paths +3. Create `ansible_playbooks/vars/nomad_vars.yml` based on the sample file. TODO: This is quite specific and probably impossible without more documentation +4. Run `make all` +5. Update your network DNS settings to use the new servers IP addresses \ No newline at end of file