Commit Graph
48 Commits
Author SHA1 Message Date
mguschinandClaude Opus 5 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
mguschinandClaude Opus 4.7 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
mguschinandClaude Opus 4.7 4236bd38e4 Use multi-SAN guschin.info cert for all hosts and components.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 13:07:40 +03:00
mguschinandClaude Opus 4.7 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
mguschinandClaude Opus 4.7 857ddc48b9 Allow guschin.info users to upload files.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 12:59:04 +03:00
mguschin 9673cd78a3 Fix prosody config. 2026-04-29 21:56:24 +03:00
mguschin 93f32ec3be Fix sligram config. 2026-04-29 21:53:14 +03:00
mguschin eddb4b3531 Fix prosody conf. 2026-04-29 21:45:21 +03:00
mguschin bb7596ffdd Fix prosody config. 2026-04-29 21:42:55 +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 2d86df749b chore: release v0.1.1 2026-03-23 14:57:12 +03:00
mguschin e78b3474cd fix: fix shell substitution in release-new command context 2026-03-23 14:56:36 +03:00
mguschin 91af50902d chore: release v0.1.0 2026-03-23 14:55:32 +03:00
mguschinandClaude Sonnet 4.6 2e80d75e60 Add changelog service and release-new skill
- cliff.toml: git-cliff config with semantic-style grouping (no conventional commits required)
- CHANGELOG.md: initial changelog generated from full git history
- .claude/commands/release-new.md: /release-new [major|minor|patch] skill that bumps version, updates changelog, commits, tags, and pushes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 14:47:00 +03:00
mguschinandClaude Opus 4.6 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
mguschinandClaude Opus 4.6 eb8a2e3145 Enable mod_mam for persistent direct message archiving
Messages are stored indefinitely in MySQL.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 20:40:03 +03:00
mguschinandClaude Opus 4.6 86e947efb0 Add ca-certificates to fix s2s TLS verification
Without CA certs, Prosody cannot verify remote servers' certificates,
causing all server-to-server connections to fail with "not trusted".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 20:29:58 +03:00
mguschinandClaude Opus 4.6 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
mguschinandClaude Opus 4.6 c28f5e00bd Enable s2s_require_encryption to match s2s_secure_auth
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 19:47:55 +03:00
mguschinandClaude Opus 4.6 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
mguschinandClaude Opus 4.6 6015367332 Fix TLS cert domain mismatch: VirtualHost now matches cert domain
VirtualHost changed from "guschin.info" to "xmpp.guschin.info" to match
the Let's Encrypt certificate. Moved certificates directive before
VirtualHost block. Removed misplaced default_realm and global ssl block.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 19:31:03 +03:00
mguschin bdcb7e1709 Fixed tls config.. 2026-02-04 13:52:52 +03:00
mguschin 41dc0258a0 Fix symlinks. 2026-02-04 13:33:27 +03:00
mguschin 7b09ea97ec Fix su prosody (4). 2026-02-04 13:30:56 +03:00
mguschin e7e784fd64 Fix su prosody (3). 2026-02-04 13:29:45 +03:00
mguschin 4308de8b0e Fix su prosody (2). 2026-02-04 13:28:21 +03:00
mguschin 198a6a584e Fix su prosody. 2026-02-04 13:27:02 +03:00
mguschin 62f31eb7bc Using existing certs.. 2026-02-04 13:25:46 +03:00
mguschin 2485e6fe3f Delete user prosody from entrypoing.. 2026-02-04 13:24:19 +03:00
mguschin 6b6a531256 Delete self signed certs. 2026-02-04 13:19:36 +03:00
mguschin f55fd8d72c Fix self signed certs. 2026-02-04 13:17:59 +03:00
mguschin 94a293d34d Certs volume. 2026-02-04 13:14:27 +03:00
mguschin 6341d5e707 Fix certs path. 2026-02-04 13:13:46 +03:00
mguschin b8ce6f7ce0 lua-unbound. 2026-02-04 11:46:18 +03:00
mguschin 865230871a nginx ssl. 2026-02-03 21:53:08 +03:00
mguschin 1097b4b99b certs path. 2026-02-03 21:52:24 +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 1b6748717f nginx. 2026-02-03 21:43:44 +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