Files
homelab-optimized/ansible/homelab/inventory.yml
Gitea Mirror Bot e7652c8dab
Some checks failed
Documentation / Build Docusaurus (push) Failing after 5m3s
Documentation / Deploy to GitHub Pages (push) Has been skipped
Sanitized mirror from private repository - 2026-04-20 01:32:01 UTC
2026-04-20 01:32:01 +00:00

206 lines
6.7 KiB
YAML

---
# Homelab Ansible Inventory
# All hosts accessible via Tailscale (tail.vish.gg)
# Last reconciled: 2026-03-13
#
# This inventory is used by ansible/homelab/ deployment playbooks.
# It is kept consistent with ansible/automation/hosts.ini.
# hosts.ini is the canonical reference — update both when adding hosts.
#
# Host naming convention:
# Matches automation/hosts.ini names where possible.
# Underscores used where hyphens would break Ansible variable names.
all:
vars:
ansible_python_interpreter: /usr/bin/python3
ansible_ssh_common_args: '-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'
docker_compose_version: "2"
children:
# -------------------------------------------------------------------------
# Synology NAS devices
# ansible_become: false — Synology DSM does not use standard sudo
# docker_data_path: /volume1/docker — DSM package manager path
# -------------------------------------------------------------------------
synology:
vars:
docker_data_path: /volume1/docker
ansible_become: false
docker_socket: /var/run/docker.sock
docker_bin: sudo /var/packages/REDACTED_APP_PASSWORD/usr/bin/docker
hosts:
atlantis:
ansible_host: 100.83.230.112
ansible_user: vish
ansible_port: 60000
hostname: atlantis.vish.local
description: "Primary NAS — Synology DS1823xs+"
calypso:
ansible_host: 100.103.48.78
ansible_user: Vish
ansible_port: 62000
hostname: calypso.vish.local
description: "Secondary NAS — Synology DS920+"
setillo:
ansible_host: 100.125.0.20
ansible_user: vish
ansible_port: 22
hostname: setillo.vish.local
description: "Remote NAS — Synology (Seattle offsite)"
# -------------------------------------------------------------------------
# Raspberry Pi nodes
# -------------------------------------------------------------------------
rpi:
vars:
docker_data_path: /opt/docker
ansible_become: true
docker_bin: docker
hosts:
pi-5:
ansible_host: 100.77.151.40
ansible_user: vish
hostname: pi-5.vish.local
description: "Raspberry Pi 5 — uptime-kuma, monitoring"
pi-5-kevin:
ansible_host: 100.123.246.75
ansible_user: vish
hostname: pi-5-kevin.vish.local
description: "Raspberry Pi 5 (Kevin's)"
# Note: frequently offline
# -------------------------------------------------------------------------
# Hypervisors and infrastructure hosts
# -------------------------------------------------------------------------
hypervisors:
vars:
docker_data_path: /opt/docker
ansible_become: true
docker_bin: docker
hosts:
pve:
ansible_host: 100.87.12.28
ansible_user: root
hostname: pve.vish.local
description: "Proxmox VE hypervisor"
# LXC 103: tdarr-node at 192.168.0.180 (LAN-only, no Tailscale)
# LXC 104: headscale-test
truenas-scale:
ansible_host: 100.75.252.64
ansible_user: vish
hostname: guava.vish.local
description: "TrueNAS Scale — guava"
docker_data_path: /mnt/pool/docker
# WARNING: do NOT run apt update on TrueNAS — use web UI only
homeassistant:
ansible_host: 100.112.186.90
ansible_user: hassio
hostname: homeassistant.vish.local
description: "Home Assistant OS"
# WARNING: exclude from apt updates — HA manages its own packages
# -------------------------------------------------------------------------
# Remote and physical compute hosts
# -------------------------------------------------------------------------
remote:
vars:
docker_data_path: /opt/docker
ansible_become: true
docker_bin: docker
hosts:
vish-concord-nuc:
ansible_host: 100.72.55.21
ansible_user: vish
hostname: concord-nuc.vish.local
description: "Intel NUC — concord"
seattle:
ansible_host: 100.82.197.124
ansible_user: root
hostname: seattle.vish.local
description: "Seattle VPS (Contabo) — bookstack, surmai, pufferpanel"
# -------------------------------------------------------------------------
# Local VMs on-site
# -------------------------------------------------------------------------
local_vms:
vars:
docker_data_path: /opt/docker
ansible_become: true
docker_bin: docker
hosts:
homelab:
ansible_host: 100.67.40.126
ansible_user: homelab
hostname: homelab-vm.vish.local
description: "Primary homelab VM — this machine"
matrix-ubuntu:
ansible_host: 100.85.21.51
ansible_user: test
hostname: matrix-ubuntu.vish.local
description: "Matrix/Mattermost Ubuntu VM"
# LAN: 192.168.0.154
# -------------------------------------------------------------------------
# Functional groups (mirrors automation/hosts.ini grouping)
# -------------------------------------------------------------------------
# All reachable managed hosts — use this for most playbooks
active:
children:
homelab_group:
synology:
rpi:
hypervisors:
remote:
local_vms:
# Hosts using Calypso as APT proxy (apt-cacher-ng)
debian_clients:
hosts:
homelab:
pi-5:
pi-5-kevin:
vish-concord-nuc:
pve:
homeassistant:
truenas-scale:
# Hosts running Portainer edge agents
portainer_edge_agents:
hosts:
homelab:
vish-concord-nuc:
pi-5:
calypso:
# Legacy compatibility group
homelab_linux:
children:
homelab_group:
synology:
rpi:
hypervisors:
remote:
# Internal group to avoid name collision between host 'homelab' and group
homelab_group:
hosts:
homelab:
# -------------------------------------------------------------------------
# Offline / LAN-only hosts — not reachable via Tailscale
# Documented here for reference, not targeted by playbooks
# -------------------------------------------------------------------------
# tdarr_node (LXC 103): 192.168.0.180 — access via: ssh pve "pct exec 103 -- <cmd>"
# anubis: unknown IP — not in Tailscale
# pi-5-kevin: 100.123.246.75 — frequently offline