feat(share): Tailscale serve stack to share internal services with external tailnet users

Adds stacks/share/ — a dedicated stack of userspace Tailscale 'serve'
nodes that expose individual internal services to external tailnet
users (a friend on his own tailnet) over each node's 100.x identity.
No public exposure, no LAN access, immune to the friend's home-subnet
addressing. First node ts-roms serves RomM at roms-share.<tailnet>.ts.net
-> romm:8080. One reusable tag:share auth key + one ACL rule cover every
node; adding a service is a serve-<svc>.json + a copied service block.

roms stack reverted to a pointer comment.
This commit is contained in:
ginnoir
2026-06-06 22:52:15 -05:00
parent dc0a4eb58f
commit 2aa8122cd3
4 changed files with 78 additions and 0 deletions
+4
View File
@@ -15,6 +15,10 @@
# The labdata/romm/* targets are auto-created by Docker as root on first start.
#
# Only romm joins `edge` (Caddy proxies romm:8080); romm-db stays on `roms` only.
#
# To share RomM with an EXTERNAL tailnet user (a friend on his own tailnet), see
# the dedicated `share` stack (stacks/share/), which runs a Tailscale `serve`
# node joined to this `roms` network.
services:
romm: