The ansible configuration for my servers
Find a file
2025-08-02 15:02:26 -07:00
filter_plugins Finished adding qbittorrent webui password 2023-10-04 19:09:17 -07:00
host_vars Added two more drives 2025-08-02 15:02:26 -07:00
roles Renamed swag role to webhost 2025-08-01 21:49:37 -07:00
templates Improved multi-domain support in nginx template 2025-02-21 18:39:30 -08:00
vars Delete vars/users_old.yml 2025-03-18 09:11:34 -07:00
.gitignore Added python junk to gitignore 2023-10-01 23:06:39 -07:00
.gitmodules Switched submodules for ansible-galaxy approach 2023-03-22 10:23:41 -07:00
ansible.cfg fixed vault not being included 2022-05-22 00:44:01 -07:00
hosts Initial Commit 2022-05-12 18:38:14 -07:00
LICENSE Initial Commit 2022-05-12 18:38:14 -07:00
master.yml Renamed swag role to webhost 2025-08-01 21:49:37 -07:00
README.md Added TODO item 2024-02-08 14:06:05 -08:00
requirements.yml Externalized samba role 2023-03-21 23:07:10 -07:00

server-config

The ansible configuration for my server

Setup

  1. Fork this repository, to ensure you are able to keep your changes tracked in git
  2. Ensure the latest version of ansible is installed on the ansible host machine
  3. Install all dependencies via ansible-galaxy.
  4. From the root directory of this repository, run ansible-galaxy install -r requirements.yml
  5. 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 categories
  • host_vars: Most of these roles require custom variables per machine. Each host should have a file in this directory
  • templates: 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 files
  • master.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
  • Mail
  • Add DNS
  • Mailing list manager
  • Monitoring (grafana/prometheus)
  • UPS Monitoring