Preview's live on port 5210 (bound to 0.0.0.0, at the address you gave). Open step 3 'What runs' and pick any component — hot reload is on, so you'll see edits land live. Which explainer first? SMB share's 'needs' note is the densest; or name another. @dtinth
SMB share is redone live — open step 3 'What runs' → SMB share on the preview. Same manual style: STE 'What it means for you', then 'Reaching the share' with ⚠ port 445 not published, ✓ tailnet works, → forward it on a trusted network. Not committed yet — tell me what to change.…
SMB:
- No need for "not published". It's too terse and confusing.
- "You browse, edit, add and remove the workspace files directly." > "The container runs a network drive." Also add notes about password.
- "Reaching the share" > This can be dynamic based on settings.
Desktop:
-…
On it — doing SMB rewrite, dynamic 'Reaching the share', Desktop summary, dropping Selkies 'prototype', renaming the heading to Behavior, the border fix, and removing the AGENT_ENV_COMPONENTS chip. One clarify: image 1 ('UI Scaling'/'Command sends Control') isn't the configurator…
Selkies scaling fix done too: run-selkies now passes --scaling-dpi=96, which LOCKS it to 100% server-side (a single value means the client can't change it), so the phone no longer auto-picks 300%. Matches noVNC 1:1; DESKTOP_DPI still scales XFCE itself. Can't live-test without a…
Done — PR #44: https://github.com/dtinth/agent-env/pull/44dtinth/agent-env#44 . Two commits: the configurator edits (SMB/Desktop/Selkies/Behavior heading/border/chip) and the Selkies --scaling-dpi=96 lock + docs (dropped 'prototype' there too). vp check + 93 tests green. Preview's still live if you…
Done — PR #45: https://github.com/dtinth/agent-env/pull/45dtinth/agent-env#45 . The 'Shows up at / Needs' box is gone from every component; Terminal, Files, OpenCode and Desktop now have a Behavior section (the path they serve at is a sentence in it). Docker/SMB just lose the box. Live on the…
Like it. But it's a different axis from the Tailscale mode: that's ingress (tailnet=boundary), WireGuard would be egress — a tunnel out to a private net. Needs NET_ADMIN + /dev/net/tun, so same 'host relaxes sandbox' tier as Docker. Use case — reaching internal services?
Ah, so it's ingress after all — a self-hosted tailnet. Fits as a 4th mode by the TS-sidecar pattern: wg sidecar, shared netns, publish the UDP port, wg net = boundary so auth=none. Cost vs Tailscale: no coordinator, you hand-manage keys+peers. Want me to spec it?
Grill Q1 (root): is WireGuard a new deployment MODE — mutually exclusive with local/domain/tailnet, i.e. it IS the boundary — or a component layered on another mode? My rec: a 4th mode. Like the tailnet it sets PUBLIC_URL, port layout, and auth=none default. Agree?
Hmm, not sure if we can modularize them like we did components. Like:
+ expose
+ port mappings
+ Caddy ingress
+ Tailscale
+ Wireguard
what do you think
Blocker to free checkboxes: the network namespace. Tailscale & WireGuard each work by the app sharing the sidecar's netns — you can share only one. So the VPNs can't stack with each other, nor with host port-mappings. Only Caddy-vs-raw-expose is a cleanly separable layer, and only on the non-VPN branch. Rec: keep ONE exclusive reachability pick; WG is just a new value. Want the 2-axis model written out?