[staging] staging.earthmanrpg.me ansible_user=discoman ansible_ssh_private_key_file=~/.ssh/id_ed25519_wsl_python-tdd letsencrypt_domain=staging.earthmanrpg.me [production] www.earthmanrpg.me ansible_user=discoman ansible_ssh_private_key_file=~/.ssh/id_ed25519_wsl_python-tdd earthmanrpg.me ansible_user=discoman ansible_ssh_private_key_file=~/.ssh/id_ed25519_wsl_python-tdd dashboard.earthmanrpg.me ansible_user=discoman ansible_ssh_private_key_file=~/.ssh/id_ed25519_wsl_python-tdd [cicd] gitea.earthmanrpg.me ansible_user=root ansible_ssh_private_key_file=~/.ssh/id_ed25519_wsl_python-tdd # Dedicated coturn (TURN/STUN) droplet for WebRTC mesh voice — provisioned by # coturn-playbook.yaml. UNCOMMENT + fill once the droplet + static IP exist # (see the playbook header). coturn_secret is NOT set here — it comes from the # shared vault (group_vars/all/vault.yaml) so it matches the app's # COTURN_SHARED_SECRET. (Inventory host_vars OVERRIDE group_vars, so never put # coturn_secret on this line or it would clobber the vault value.) # coturn_private_ip / coturn_tls_* are optional. coturn_public_ip6 (optional): # set the droplet's public IPv6 to serve dual-stack TURN (adds a v6 external-ip # + matching v6 peer-denial lockdown); leave unset for a pure-IPv4 relay. [coturn] turn.earthmanrpg.me ansible_user=root ansible_ssh_private_key_file=~/.ssh/id_ed25519_wsl_python-tdd coturn_realm=earthmanrpg.me coturn_public_ip=167.172.236.157 coturn_public_ip6=2604:a880:800:14:0:3:384:6000