mirror of
https://github.com/DDriggs00/server-config.git
synced 2025-12-05 17:46:44 -08:00
The ansible configuration for my servers
| filter_plugins | ||
| host_vars | ||
| roles | ||
| templates | ||
| vars | ||
| .gitignore | ||
| .gitmodules | ||
| ansible.cfg | ||
| hosts | ||
| LICENSE | ||
| master.yml | ||
| README.md | ||
| requirements.yml | ||
server-config
The ansible configuration for my server
Setup
- Fork this repository, to ensure you are able to keep your changes tracked in git
- Ensure the latest version of ansible is installed on the ansible host machine
- Install all dependencies via ansible-galaxy.
- From the root directory of this repository, run
ansible-galaxy install -r requirements.yml - Configure the following files to have your server data:
hosts: Ensure that this file contains all machines you intend to run ansible against, along with their categorieshost_vars: Most of these roles require custom variables per machine. Each host should have a file in this directorytemplates: Some roles require a per-host custom template. Each host that uses these roles must have a subdirectory here containing those templates.vars: Sensitive data has been encrypted using Ansible Vault. Create your own using the data structures listed in the example filesmaster.yml: This is the primary playbook. Use it to determine which roles will be run for which hosts/groups.
Todo list
Items Affecting Multiple Roles
- Add automatic restart handlers on changed config
- Shut down containers that write to configs before modifying
- Remove unused docker-compose files
- actually start new containers
- Add healthcheck parameter to all roles
- Move home location data to users
Existing Roles
Authentik
- Add click-to-invite emails
- Configure by ansible, not by gui
Jackett
- Programatically add indexers
Sonarr/Radarr
- Programatically add indexers
- Programatically add clients
Jellyfin
- Automatically link jfa-go to jellyfin
- Add non-nvidia hardware encoding support for jellyfin
- AMD
- Intel regular
- Intel quicksync
Nextcloud
- Manage nextcloud config (See top of nextcloud's nginx template for minimum requirements)
Frigate
- Figure out if frigate can support a uid/gid
Uptimekuma
- Figure out if uptimekuma can support a uid/gid
New Roles
- landing page (maybe flame)
- main webpage (portfolio)
- add watchtower
- VSCode Server
- Add DNS
- Mailing list manager
- Monitoring (grafana/prometheus)
- UPS Monitoring