Files
Internal-apps/ansible-playbook.yml
boxswapper 170146efb1 refactor: split monolithic playbook into 9 focused ansible roles
Refactored the single ansible-playbook.yml into granular roles under roles/:
- packages: dnf update + package installs
- directories: /opt/apps/* directory creation
- sysctl: ip_forward, src_valid_mark, vm.max_map_count tuning
- network: npm_internal podman network
- wireguard: kernel module, wg-easy container, nftables hook patching
- npm: Nginx Proxy Manager container
- gitea: Gitea container
- jellyfin: Jellyfin container
- wazuh: cert generation + indexer/manager/dashboard containers

Top-level playbook is now a role dispatcher with image pre-pull kept
upfront. n8n deployment kept as commented-out guidance with an enable
checklist. All variables remain in top-level vars.yml.

Done by Sisyphus.
2026-09-16 09:24:32 -06:00

48 lines
1.2 KiB
YAML
Executable File

---
- hosts: internal-apps
become: true
vars_files:
- ./vars.yml
tasks:
- name: Pull images
containers.podman.podman_image:
name: "{{ item }}"
loop: "{{ images }}"
roles:
- packages
- directories
- sysctl
- network
- wireguard
- npm
- gitea
- jellyfin
- wazuh
#----N8N deployment, no GPU avail for deployment ------#
# To enable n8n:
# 1. Uncomment the n8n image in vars.yml (images list)
# 2. Uncomment the n8n directory in vars.yml (directories list)
# 3. Create roles/n8n/tasks/main.yml with the n8n container block
# 4. Add "n8n" to the roles list above
#
# - name: Deploy n8n
# containers.podman.podman_container:
# image: docker.n8n.io/n8nio/n8n
# name: n8n
# env:
# N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: true
# N8N_RUNNERS_ENABLED: true
# restart_policy: always
# recreate: true
# state: started
# volumes:
# - /opt/apps/n8n/data:/home/node/.n8n:z
# - /opt/apps/n8n/files:/files:z
# - /usr/share/zoneinfo/America/Denver:/etc/timezone:ro
# - /etc/localtime:/etc/localtime:ro
# network:
# - npm_internal
# ip: '10.10.0.35'