Shared coturn (services/coturn.sh, ensure_coturn_user in lib/common.sh) is no longer an installable or usable option anywhere in this repo. It's moved to attic/coturn.sh (with tools/coturn-test-check.sh alongside it), which is outside setup.sh's services/*.sh glob, so it never registers, never appears in the menu, and `sudo ./setup.sh coturn` now fails with "unknown service". Asterisk and Mattermost each already had an opt-out to run their own dedicated coturn instead of the shared one; that opt-out is now the only behavior — the shared-coturn preference, the opt-out prompt, and every ensure_coturn_user() call site are gone. find_free_coturn_range() (lib/common.sh) is what makes unconditional dedicated coturn safe: it scans every coturn-owning service's own .env on the box for already-claimed relay ranges and picks one that can't collide, so Asterisk + any number of Mattermost instances can each run their own coturn on one box without the relay-port collisions this repo's coturn history warns about. Existing installs still pointed at a shared coturn container are left running as-is on `update` (no silent migration attempt against a service that no longer exists to heal against) — a full/fresh reinstall is the migration path, which generates a new dedicated coturn with fresh credentials and says so. Also updates CLAUDE.md's coturn guidance for future service authors, attic/README.md with the retirement rationale, and stale services/coturn.sh path references in services/asterisk.sh, tools/pstn-test-check.sh, README.md, and docs/vps-sizing-recommendations.md. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crt4ymNEHEbWqscB1qvZgC
3.2 KiB
attic — frozen copies, kept deliberately out of the way
Nothing in here is part of the normal system. setup.sh globs
services/*.sh, so files parked here never self-register, never appear in the
menu, and never run unless you invoke them by hand.
asterisk-digital-ocean.sh
The pre-merge droplet installer, exactly as it was before
services/asterisk-digital-ocean.sh was folded into services/asterisk.sh.
It is here as a rollback path while the unified installer is still unproven on
real hardware — not as a supported second service.
It keeps its own standalone bootstrap, so it runs on its own:
sudo bash attic/asterisk-digital-ocean.sh
It still targets ~/docker/asterisk-digital-ocean and the
easy-asterisk-do / easy-asterisk-do-coturn containers, which is exactly
the layout the merged services/asterisk.sh detects and preserves — so the
two agree about where an existing droplet install lives, and switching back
and forth does not move anything.
What this copy does and does not protect against. It is a way to get the
old installer back, not an undo button. If the unified script ever makes a
change you don't want, re-running this one does not reverse it — a
droplet snapshot does. The things that actually keep an existing install safe
are, in order: running --dry-run first, choosing update (or cancel)
rather than fresh at the reinstall prompt, and having a snapshot.
Delete this once the unified installer has been confirmed on the droplet.
Two copies of the same logic is the exact problem the merge existed to fix,
and this one will drift the moment services/asterisk.sh gets a fix that
isn't backported here — which it deliberately won't be.
coturn.sh / coturn-test-check.sh
The shared-coturn service (services/coturn.sh, moved here unchanged from
services/) and its standalone health-check tool (tools/coturn-test-check.sh,
moved from tools/). This model — every WebRTC/SIP-capable service
(asterisk, mattermost) sharing one coturn instance via ensure_coturn_user
— is no longer offered anywhere in this repo. Every service now runs its own
dedicated coturn instead, with lib/common.sh's find_free_coturn_range()
avoiding the relay-port collisions a shared instance used to prevent by
scanning every coturn-owning service's own .env on the box. See
CLAUDE.md's "coturn (TURN/STUN) relay" section for the current pattern.
Sharing one instance only ever saved ~40MB RAM per additional consumer beyond the first — real, but small — against being a single point of failure every consumer depended on. Parked here, not deleted, since the code is still correct and someone could resurrect it if a future need for it shows up. Both files still run standalone if invoked directly:
sudo bash attic/coturn.sh
sudo bash attic/coturn-test-check.sh
Nothing in this repo calls ensure_coturn_user() anymore (the function
itself was removed from lib/common.sh), so resurrecting this only makes
sense if you're deliberately reintroducing the shared-coturn pattern
yourself — a new consumer service would need its own call to whatever
takes ensure_coturn_user's place, since that helper no longer exists to
call.