Prod decommission — opencode-web.service + tailscaled
Prod decommission — opencode-web.service + tailscaled
Young, 2026-10-18: decommission opencode-web.service (sol.youngle.au, :4090)
and tailscaled.
What was done
| Item | Before | After | Action taken |
|---|---|---|---|
opencode-web.service | active (user unit) | stopped + disabled | systemctl --user stop + disable; unit file removed |
| Port 4090 | listening (opencode serve) | closed | process stopped |
| nginx sol configs | retired .bak files in sites-available | removed | sudo rm all sol.youngle.au.bak-* and .retired-* |
tailscaled | inactive, not enabled, binary not installed | already gone | no action needed — was already decommissioned |
| systemd daemon | — | reloaded | systemctl --user daemon-reload |
What remains on prod
| Service | Port | State | Purpose |
|---|---|---|---|
| nginx | 80/443 | active | reverse proxy + TLS |
| solos-docs.service | 8091 | active | docs.youngle.au (basic-auth) |
| pulse-site.service | 8092 | active | pulse.youngle.au (public) |
| v3-heart-prod.service | — | active (4 days) | SolOS V3 Heart worker |
| Docker daemon | — | installed (v29.7.2) | for tenants (not yet used) |
What was NOT done
- I did not touch Docker, nginx config (only removed backup files), or any service other than opencode-web.
- I did not remove the opencode binary from prod (it's still at
/home/ubuntu/.opencode/bin/opencode— used by the Heart worker's PATH). - I did not touch tailscaled config (binary not installed, so nothing to clean).
Cost impact
$0 saved. Both services were already inactive. The decommission cleans up leftover config files and frees port 4090. No monthly cost change.
O365 / Microsoft Graph notification provider — the per-tenant opt-in email channel
Card: t_154c2421 (build task 4 of 8 from t_c9b50255). Method: live probes on prod (161.33.71.67, aarch64, Node v24.19.0) against the pinned @medusajs/medusa 2.21.2, with the real Microsoft client libraries (@azure/identity 4.14.0, @microsoft/microsoft-graph-client 3.0.7). Isolated scratch DB (o365_e2e_2026 on the pg-temp container). No tenant DB was written to.
Production server implementation plan — vhost tenancy platform
Authority doc (specs only — no execution). Registers the production-server implementation plan on the vault per Young's directive 2026-10-18, and consolidates the five lanes named in the task:

