Flesh out coturn config, autodiscover external IP
This commit is contained in:
parent
166e000b12
commit
0793106447
|
@ -0,0 +1,24 @@
|
|||
#!/usr/bin/env lua
|
||||
|
||||
package.path = package.path:gsub("([^;]*)(?[^;]*)","%1prosody/%2;%1%2");
|
||||
package.cpath = package.cpath:gsub("([^;]*)(?[^;]*)","%1prosody/%2;%1%2");
|
||||
|
||||
package.loaded["net.server"] = require "net.server_epoll";
|
||||
local net = require "util.net";
|
||||
local ip = require "util.ip";
|
||||
local dns = require "net.dns";
|
||||
|
||||
local addresses = net.local_addresses();
|
||||
|
||||
local ip_addr = ip.new_ip(addresses[1]);
|
||||
|
||||
if not ip_addr.private then
|
||||
-- Not a private address, no mapping needed
|
||||
print(ip_addr);
|
||||
else
|
||||
local dns_record = dns.lookup(arg[1], ip_addr.proto == "IPv6" and "AAAA" or "A");
|
||||
if #dns_record == 0 then
|
||||
os.exit(1);
|
||||
end
|
||||
print(dns_record[1].a.."/"..tostring(ip_addr));
|
||||
end
|
|
@ -9,6 +9,10 @@ while ! test -f "$CERTFILE" -a -f "$KEYFILE"; do
|
|||
echo ".";
|
||||
done
|
||||
|
||||
TURN_EXTERNAL_IP="$(snikket-turn-addresses "$SNIKKET_DOMAIN")"
|
||||
|
||||
|
||||
exec /usr/bin/turnserver -c /etc/turnserver.conf --prod \
|
||||
--static-auth-secret="$(cat /snikket/prosody/turn-auth-secret)" \
|
||||
--cert="$CERTFILE" --pkey "$KEYFILE"
|
||||
--cert="$CERTFILE" --pkey "$KEYFILE" -r "$SNIKKET_DOMAIN" \
|
||||
-X "$TURN_EXTERNAL_IP"
|
||||
|
|
|
@ -90,3 +90,10 @@ no-multicast-peers
|
|||
# See also options cli-ip and cli-port.
|
||||
#
|
||||
no-cli
|
||||
|
||||
# SQLite database file name.
|
||||
#
|
||||
# Default file name is /var/db/turndb or /usr/local/var/db/turndb or
|
||||
# /var/lib/turn/turndb.
|
||||
#
|
||||
userdb=/snikket/prosody/turndb
|
||||
|
|
|
@ -10,4 +10,5 @@
|
|||
- import_tasks: tasks/cron.yml
|
||||
- import_tasks: tasks/certs.yml
|
||||
- import_tasks: tasks/mail.yml
|
||||
- import_tasks: tasks/coturn.yml
|
||||
- import_tasks: tasks/scripts.yml
|
||||
|
|
|
@ -5,6 +5,13 @@
|
|||
name: coturn
|
||||
state: present
|
||||
install_recommends: yes
|
||||
|
||||
- name: "Install dnsutils package"
|
||||
apt:
|
||||
name: dnsutils
|
||||
state: present
|
||||
install_recommends: no
|
||||
|
||||
- name: "Disable coturn service"
|
||||
service:
|
||||
name: coturn
|
||||
|
@ -17,8 +24,3 @@
|
|||
copy:
|
||||
src: ../files/turnserver.conf
|
||||
dest: /etc/turnserver.conf
|
||||
- name: Deploy coturn start script
|
||||
copy:
|
||||
src: ../files/start-coturn.sh
|
||||
dest: /usr/local/bin/
|
||||
mode: 755
|
||||
|
|
|
@ -89,6 +89,7 @@
|
|||
- mod_default_bookmarks
|
||||
- mod_muc_defaults
|
||||
- mod_firewall
|
||||
- mod_turncredentials
|
||||
|
||||
|
||||
- name: Install Bootstrap and JS libs
|
||||
|
|
|
@ -9,6 +9,10 @@ if [ -z "$SNIKKET_SMTP_URL" ]; then
|
|||
SNIKKET_SMTP_URL="smtp://localhost:1025/;no-tls"
|
||||
fi
|
||||
|
||||
if [ -z "$SNIKKET_EXTERNAL_IP" ]; then
|
||||
SNIKKET_EXTERNAL_IP="$(dig +short $SNIKKET_DOMAIN)"
|
||||
fi
|
||||
|
||||
echo "$SNIKKET_SMTP_URL" | smtp-url-to-msmtp > /etc/msmtprc
|
||||
|
||||
echo "from snikket@$SNIKKET_DOMAIN" >> /etc/msmtprc
|
||||
|
|
Loading…
Reference in New Issue