| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- # Ansible Inventory
- # 复制此文件为 inventory/hosts.yml 并填入实际的服务器信息
- # 该文件已被 .gitignore 排除,不会进入版本控制
- all:
- children:
- # ============================================================
- # servers: 所有受管服务器的父组
- # base role 会在此组的所有主机上运行
- # ============================================================
- servers:
- hosts:
- # -------------------- server1 --------------------
- server1:
- # ansible_host: 服务器的公网 IP 地址或域名
- # Ansible 将通过此地址 SSH 连接到服务器
- ansible_host: 1.2.3.4
- # ansible_user: SSH 登录用户名
- # 可以是 root,也可以是具有 sudo 权限的普通用户(如 ubuntu, debian)
- # 如果为非 root 用户,请确保该用户已配置 sudo 免密
- ansible_user: root
- # ansible_port: SSH 连接端口(Ansible 原生变量)
- # 默认 22,如果服务器使用非标准 SSH 端口则修改此项
- ansible_port: 22
- # ssh_port: 服务器实际运行的 SSH 端口(本项目自定义变量)
- # base role 会根据此值配置 sshd 和 UFW 防火墙
- # 若省略,则默认使用 ansible_port 的值
- ssh_port: 22
- # ansible_ssh_private_key_file: SSH 私钥路径
- # 指定用于连接该服务器的 SSH 私钥文件
- # 如果省略,将使用 ssh-agent 或默认的 ~/.ssh/id_rsa
- # ansible_ssh_private_key_file: ~/.ssh/my_server_key
- # trojan_domain: Trojan 服务使用的 TLS 域名
- # 每台部署 Trojan 的服务器需要独立的域名
- # 域名必须已解析到该服务器的公网 IP
- # trojan_domain: "proxy1.example.com"
- # certbot_email: Let's Encrypt 证书申请邮箱
- # 用于接收证书到期提醒
- # certbot_email: "admin@example.com"
- # -------------------- server2 --------------------
- server2:
- ansible_host: 5.6.7.8
- ansible_user: ubuntu
- ansible_port: 22
- ssh_port: 22
- # trojan_domain: "proxy2.example.com"
- # certbot_email: "admin@example.com"
- # ============================================================
- # snell: 需要部署 Snell 服务的服务器组
- # 通过 children.servers 继承 servers 组中的所有主机
- # 也可以单独列出特定主机,只在这些主机上部署 Snell
- # ============================================================
- snell:
- children:
- servers:
- # 示例:只在特定子集上部署 Snell
- # hosts:
- # server1:
- # ============================================================
- # trojan: 需要部署 Trojan 服务的服务器组
- # 通过 children.servers 继承 servers 组中的所有主机
- # 也可以单独列出特定主机
- # ============================================================
- trojan:
- children:
- servers:
- # 示例:只在特定子集上部署 Trojan
- # hosts:
- # server1:
- # ================================================================
- # 字段速查表
- # ================================================================
- #
- # ansible_host 必填 服务器 IP 或域名,Ansible 实际连接的地址
- # ansible_user 必填 SSH 登录用户名
- # ansible_port 可选 SSH 连接端口(默认 22)
- # ssh_port 可选 服务器 sshd 实际监听端口(默认取 ansible_port)
- # ansible_ssh_private_key_file 可选 SSH 私钥路径
- # ansible_ssh_extra_args 可选 额外的 SSH 参数
- # trojan_domain 可选 该服务器的 Trojan TLS 域名(部署 Trojan 时必须)
- # certbot_email 可选 Let's Encrypt 邮箱(部署 Trojan 时必须)
- #
- # ================================================================
- # 组说明
- # ================================================================
- #
- # servers base role 的目标组,所有服务器必须在此组中
- # snell snell role 的目标组,继承 servers 或单独定义
- # trojan trojan role 的目标组,继承 servers 或单独定义
- #
- # 注意:一台服务器可以同时属于 snell 和 trojan 组,
- # 此时该服务器会同时部署两种服务。
|