Commit Graph

20 Commits

Author SHA1 Message Date
mguschin
3fc1ac3d12 Add TURN/STUN server for audio/video calls.
Jingle A/V (XEP-0166/0167/0176) needs a STUN/TURN server for NAT
traversal. Add coturn and advertise it to clients via XEP-0215.

- coturn container, host networking (a relay needs its full UDP port
  range reachable, and Docker NAT hides the peer addresses coturn needs).
- mod_turn_external in Prosody to advertise the service and mint
  time-limited credentials from a shared secret.
- Advertise UDP and TCP transports plus turns: on 5349, so clients on
  UDP-blocking networks can still connect.
- Deny relaying to private ranges, so this is not an open proxy into
  internal services.

TURN host is guschin.info rather than turn.guschin.info because only the
former is in the certificate SANs and turns: clients validate the name.

TURN_HOST/TURN_SECRET go in .env, which is gitignored and set per
deployment; TURN_SECRET must match static-auth-secret in turnserver.conf.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 22:17:44 +03:00
mguschin
218b1be0dd Revert "Remove obsolete xmpp.guschin.info cert references."
This reverts commit 29bfdd417c.
2026-05-10 13:21:07 +03:00
mguschin
29bfdd417c Remove obsolete xmpp.guschin.info cert references.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 13:19:08 +03:00
mguschin
5a5c5021a3 Expose HTTPS port for file uploads.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 13:01:49 +03:00
mguschin
034a12c0fd Fix docker compose. 2026-04-29 21:38:37 +03:00
mguschin
36751f5229 Fix docker compose. 2026-04-29 20:59:12 +03:00
mguschin
e207af3ca6 Fix sligram image path. 2026-04-29 20:22:35 +03:00
mguschin
6feff1c7e6 Tg bridge. 2026-04-29 20:09:17 +03:00
mguschin
173f3a9705 Add guschin.info VirtualHost alongside xmpp.guschin.info
Users can now register as name@guschin.info or name@xmpp.guschin.info.
Added Let's Encrypt cert mounting and install for guschin.info domain.
Refactored entrypoint cert install into reusable function.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 07:56:48 +03:00
mguschin
333df5ca4a Mount only xmpp cert dirs to fix letsencrypt permission errors
Mount specific live/ and archive/ subdirectories instead of all of
/etc/letsencrypt to avoid Prosody scanning root-only directories
(accounts/, archive/ for other domains). Also remove allow_registration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 19:55:56 +03:00
mguschin
e1a4c4b733 Remove obsolete version attribute from docker-compose.yml
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 19:37:50 +03:00
mguschin
41dc0258a0 Fix symlinks. 2026-02-04 13:33:27 +03:00
mguschin
94a293d34d Certs volume. 2026-02-04 13:14:27 +03:00
mguschin
01843cc2a2 certs volume. 2026-02-03 21:50:38 +03:00
mguschin
483f2438f9 certs in docker compose. 2026-02-03 21:47:11 +03:00
mguschin
f784ee76b4 change ip. 2026-02-03 21:33:56 +03:00
mguschin
973e8d4268 extra hosts. 2026-02-03 21:30:02 +03:00
mguschin
d41888df6e Network. 2026-02-03 21:26:44 +03:00
mguschin
94271ddfb3 MySQL running on host. 2026-02-03 21:03:20 +03:00
mguschin
6b54303482 Init. 2026-02-02 20:12:50 +03:00