From b85109e2e23a66ed64b22ea20390a40e20c47aaf Mon Sep 17 00:00:00 2001 From: Kenneth Date: Tue, 24 Mar 2026 22:20:34 +0000 Subject: [PATCH] feat: auto-login to tailscale in devcontainer (#96) --- .devcontainer/devcontainer.json | 2 +- scripts/setup-tailscale.sh | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100755 scripts/setup-tailscale.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 3b3b6fd..834275b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -10,7 +10,7 @@ "context": ".", "dockerfile": "Dockerfile" }, - "postCreateCommand": "bun install", + "postCreateCommand": "bun install && ./scripts/setup-tailscale.sh", "postStartCommand": "./scripts/setup-git.sh && ./scripts/setup-nvim.sh", // Features add additional features to your environment. See https://containers.dev/features // Beware: features are not supported on all platforms and may have unintended side-effects. diff --git a/scripts/setup-tailscale.sh b/scripts/setup-tailscale.sh new file mode 100755 index 0000000..f3b8a12 --- /dev/null +++ b/scripts/setup-tailscale.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Tailscale setup script +# Authenticates with Tailscale if TS_AUTH_KEY is set and Tailscale is not already logged in + +set -e + +if [ -z "$TS_AUTH_KEY" ]; then + echo "TS_AUTH_KEY is not set, skipping Tailscale login." + exit 0 +fi + +STATUS=$(tailscale status 2>&1 || true) + +if echo "$STATUS" | grep -qi "logged out\|stopped"; then + echo "Tailscale is not authenticated. Logging in..." + sudo tailscale up --accept-routes --auth-key="$TS_AUTH_KEY" + echo "Tailscale login complete." +else + echo "Tailscale is already authenticated, skipping." +fi