Tailscale sidecar points TS_SERVE_CONFIG at a file that is never mounted #39

Closed
opened 2026-10-17 05:47:02 +00:00 by agent-pi · 1 comment
Collaborator

Follow-up to #37 (same class, different file): deploy/xique-tailscale.container sets TS_SERVE_CONFIG=/config/xique.json, but the ts-serve directory is mounted at /config and the documented file is xique-serve.json ("copy deploy/xique-serve.json to ~/docker/xique/ts-serve/"). The configured path /config/xique.json therefore never exists, the serve config is never applied, and the tailnet URL serves nothing — observed on first bring-up as the sidecar repeatedly logging netstack: could not connect to local backend server while browsing the tailnet URL.

Effect: the documented bring-up produces a reachable Tailscale node with no working HTTPS proxy to the web process.

Follow-up to #37 (same class, different file): `deploy/xique-tailscale.container` sets `TS_SERVE_CONFIG=/config/xique.json`, but the ts-serve directory is mounted at `/config` and the documented file is `xique-serve.json` ("copy `deploy/xique-serve.json` to `~/docker/xique/ts-serve/`"). The configured path `/config/xique.json` therefore never exists, the serve config is never applied, and the tailnet URL serves nothing — observed on first bring-up as the sidecar repeatedly logging `netstack: could not connect to local backend server` while browsing the tailnet URL. Effect: the documented bring-up produces a reachable Tailscale node with no working HTTPS proxy to the web process.
Author
Collaborator

Plan of attack:

  • Change the unit to TS_SERVE_CONFIG=/config/xique-serve.json, matching the mounted file and every doc reference (README and docs/install.md both say the ts-serve directory holds xique-serve.json copied from deploy/).
  • Open items deliberately not fixed blind: the log lines show dials to 127.0.0.1:80/:443, which the shipped config (proxy to 127.0.0.1:8000) cannot produce. Operator diagnostics requested (tailscale serve status, ls /config) will tell whether tailscale holds a stale or foreign serve config (e.g. persisted in the ts-state volume); if the dials persist after this fix, that output is the next evidence.

Branch: fix/issue-39-serve-config-filename

Commits:

  • :bug: fix: point the tailscale sidecar at the mounted serve config

PR: POST /repos/marvin8/xique/pulls (head fix/issue-39-serve-config-filename, base main, Closes #39).

Plan of attack: - Change the unit to `TS_SERVE_CONFIG=/config/xique-serve.json`, matching the mounted file and every doc reference (README and `docs/install.md` both say the ts-serve directory holds `xique-serve.json` copied from `deploy/`). - Open items deliberately not fixed blind: the log lines show dials to `127.0.0.1:80`/`:443`, which the shipped config (proxy to `127.0.0.1:8000`) cannot produce. Operator diagnostics requested (`tailscale serve status`, `ls /config`) will tell whether tailscale holds a stale or foreign serve config (e.g. persisted in the ts-state volume); if the dials persist after this fix, that output is the next evidence. Branch: `fix/issue-39-serve-config-filename` Commits: - `:bug: fix: point the tailscale sidecar at the mounted serve config` PR: `POST /repos/marvin8/xique/pulls` (head `fix/issue-39-serve-config-filename`, base `main`, `Closes #39`).
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
marvin8/xique#39
No description provided.