authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-06-11 00:38:55-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-06-11 01:38:21-07:00
loge497561c8b376cffa9e5867396c09018d11060f1
treed11039bf3994e99ff61d3d069bc8249ce1d324ef
parent21c7642b347997f1c6d3400bdc766e16d190414f
signaturebadge-check Signed by SSH key SHA256:xbd+BjjhyBfwk7GVoURf9Yx0gzDerHbvYv7SddNWmAs

feat: tailscale in compose, replacing the truenas app

closes #27 same node identity — state copied from the ix-apps mount into ${APP_ROOT}/tailscale, so no reauth, and the tailnet still sees 'zenith' offering an exit node. host networking + /dev/net/tun like the original. the truenas app is stopped; delete it from the truenas ui at leisure.

1 files changed, 25 insertions(+), 0 deletions(-)

compose.yaml+25
...@@ -766,6 +766,31 @@ services:...@@ -766,6 +766,31 @@ services:
766 caddy:766 caddy:
767 condition: service_started767 condition: service_started
768 # administration768 # administration
769 tailscale:
770 container_name: tailscale
771 image: tailscale/tailscale:latest
772 network_mode: host
773 cap_add:
774 - NET_ADMIN
775 - NET_RAW
776 devices:
777 - /dev/net/tun:/dev/net/tun
778 environment:
779 TS_HOSTNAME: truenas-scale
780 TS_STATE_DIR: /var/lib/tailscale
781 TS_USERSPACE: "false"
782 TS_AUTH_ONCE: "true"
783 TS_ACCEPT_DNS: "false"
784 TS_EXTRA_ARGS: "--advertise-exit-node"
785 volumes:
786 - "${APP_ROOT}/tailscale:/var/lib/tailscale"
787 restart: unless-stopped
788 healthcheck:
789 test: ["CMD-SHELL", "tailscale status >/dev/null"]
790 interval: 30s
791 timeout: 10s
792 retries: 3
793 start_period: 30s
769 openspeedtest: # port 3000794 openspeedtest: # port 3000
770 restart: unless-stopped795 restart: unless-stopped
771 container_name: openspeedtest796 container_name: openspeedtest