Originally based on David Stephen's ansible-nas.
This repository is currently undergoing a revamp. At present the Ansible playbook is the only section ready for use.
Goals for the repo:
Additionally, one of the longer term goals is to eventually migrate away from spinning up individual containers 'orchestrated' (term used loosely) by the Ansible playbook. At the beginning when deployment was against a single host this worked well, though as more and more services have been added, deployment times have increased significantly. A further annoyance is how containers have to be manually namespaced to avoid conflicts and how links between containers can feel flimsy at times.
Kubernetes looks like a good fit to help with these problems, even if it is a tad overkill for hosting the services for 1 user.
I don't recommend you use this repository, it's intended to be purely a reference (and probably not even a very good one at that).
The configuration sets up services the way I like them I like them. At a miniumum, you'll need to override some variables (especially secrets/passwords).
Before running, the following is necessary:
vars.yml
needs to be created to set the following variables:data_dir: ~/docker_data
homelab_domain: "example.com"
letsencrypt_email: "admin@example.com"
media_dir: /path/to/media
The playbook also depends on the geerlingguy.pip and geerlingguy.docker roles. These can be installed by running:
ansible-galaxy install -r requirements.yml
ansible-playbook -i inventory main.yml