coturn: activate [coturn] inventory host (turn.earthmanrpg.me + v4/v6)
All checks were successful
ci/woodpecker/push/pyswiss Pipeline was successful
ci/woodpecker/push/main Pipeline was successful

Uncomment + fill the [coturn] group so the play has a host to target (empty group was the 'no hosts matched' / 'no hosts to target' error). Secret stays vault-only — deliberately omitted from the host line (host_vars override group_vars).

Code architected by Disco DeDisco <discodedisco@outlook.com>
Git commit message Co-Authored-By:
Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Disco DeDisco
2026-05-27 14:30:38 -04:00
parent 68239ac5d4
commit c41cf7ed36
2 changed files with 19 additions and 7 deletions

View File

@@ -0,0 +1,10 @@
$ANSIBLE_VAULT;1.1;AES256
62633637333430623762333637306466646161323861663564373533353565366661616433376465
6138653163616138396163363764353464616133303731370a656166623332656234356564373330
34656230353138653939313337376365343866623461616466343131313236303439613664616333
6665333231353436650a616663653630613465613931353232383437623434383930313862626164
39653231326663626562323832666264366331306365333061613535396532303937343065616261
62663638386235373566336634616331396434643134303731646435396563343333333034303063
66313030396437666461303137613233666366376430356164386561626337643930383433653130
39663237303737333834366530303435666366336664363666646632396630626434373535303937
3739

View File

@@ -11,10 +11,12 @@ gitea.earthmanrpg.me ansible_user=root ansible_ssh_private_key_file=~/.ssh/id_ed
# Dedicated coturn (TURN/STUN) droplet for WebRTC mesh voice — provisioned by # Dedicated coturn (TURN/STUN) droplet for WebRTC mesh voice — provisioned by
# coturn-playbook.yaml. UNCOMMENT + fill once the droplet + static IP exist # coturn-playbook.yaml. UNCOMMENT + fill once the droplet + static IP exist
# (see the playbook header). coturn_secret must equal the app's # (see the playbook header). coturn_secret is NOT set here — it comes from the
# COTURN_SHARED_SECRET. coturn_private_ip / coturn_tls_* are optional. # shared vault (group_vars/all/vault.yaml) so it matches the app's
# coturn_public_ip6 (optional): set the droplet's public IPv6 to serve # COTURN_SHARED_SECRET. (Inventory host_vars OVERRIDE group_vars, so never put
# dual-stack TURN (adds a v6 external-ip + matching v6 peer-denial lockdown); # coturn_secret on this line or it would clobber the vault value.)
# leave unset for a pure-IPv4 relay. # coturn_private_ip / coturn_tls_* are optional. coturn_public_ip6 (optional):
# [coturn] # set the droplet's public IPv6 to serve dual-stack TURN (adds a v6 external-ip
# turn.earthmanrpg.me ansible_user=root ansible_ssh_private_key_file=~/.ssh/id_ed25519_wsl_python-tdd coturn_secret=CHANGEME coturn_realm=earthmanrpg.me coturn_public_ip=CHANGEME # + 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