Requires tailscale CLI installed & authenticated
# Get template files
TAILNET=$(tailscale status --json | jq -r '.MagicDNSSuffix')
TEMPLATE="https://raw.githubusercontent.com/mrgnw/svelte-docker-tailscale/main"
curl -O "$TEMPLATE/Dockerfile" & \
curl -O "$TEMPLATE/compose.yml" & \
curl -O "$TEMPLATE/tailscale_serve.json" & \
(curl -s "$TEMPLATE/.env.example" | tee .env) & wait
# Set up Tailscale config
echo "/tailscale" >> .gitignore
# Update serve.json with your domain
DOMAIN="${PWD##*/}.$TAILNET"
sed -i '' "s/localhost/$DOMAIN/" tailscale_serve.json
Get an auth key from Tailscale admin console
TS_AUTHKEY=
Then add it to your env
echo "TS_AUTHKEY=$TS_AUTHKEY" >> .env
docker compose up
That's it! Your app will be available at https://${PWD##*/}.$TAILNET
All configuration is optional except TS_AUTHKEY
. Defaults are:
${COMPOSE_PROJECT_NAME}-network
${COMPOSE_PROJECT_NAME}
${COMPOSE_PROJECT_NAME}.$TAILNET
Override any of these by setting them in .env