diff --git a/docs/features/apps/install-scripts/curated/index.md b/docs/features/apps/install-scripts/curated/index.md index baa1a43..e88db4f 100644 --- a/docs/features/apps/install-scripts/curated/index.md +++ b/docs/features/apps/install-scripts/curated/index.md @@ -20,4 +20,5 @@ | `scrutiny` | [scrutiny.json](/install-scripts/scrutiny.json) | 1.3 KB | 2026-01-31 | | `sonarr` | [sonarr.json](/install-scripts/sonarr.json) | 1.2 KB | 2025-12-04 | | `syncthing` | [syncthing.json](/install-scripts/syncthing.json) | 2.0 KB | 2025-12-25 | +| `tailscale` | [tailscale.json](/install-scripts/tailscale.json) | 1.8 KB | 2026-02-07 | diff --git a/docs/public/install-scripts/tailscale.json b/docs/public/install-scripts/tailscale.json new file mode 100644 index 0000000..429aab3 --- /dev/null +++ b/docs/public/install-scripts/tailscale.json @@ -0,0 +1,74 @@ +{ + "version": 3, + "script": { + "version": "1.0.0", + "changeLog": "Initial Script" + }, + "requirements": { + "locations": ["ApplicationsPerformance"], + "specifications": ["2CORE", "200MB"], + "permissions": ["READ_WRITE_LOCATIONS"] + }, + "installation_questions": [ + { + "question": "Hostname", + "description": "The hostname for Tailscale Node.\nOnly lowercase letters, numbers, and hyphens are allowed.\nSame as `--hostname` flag.", + "placeholder": "$SERVER_HOST_NAME", + "type": "text", + "key": "tailscale_hostname", + "required": true + }, + { + "question": "Auth Key", + "description": "The auth key for Tailscale Node.\nSame as `--authkey` flag.\nTo generate one: https://login.tailscale.com/admin/settings/keys", + "placeholder": "tskey-auth-xxxxxx", + "type": "text", + "key": "tailscale_auth_key", + "required": true + } + ], + "ensure_directories_exists": [ + { + "path": "$LOCATION(ApplicationsPerformance)", + "network_share": true + }, + { + "path": "$LOCATION(ApplicationsPerformance)/tailscale/state", + "posix": true + }, + "$LOCATION(ApplicationsPerformance)/tailscale/config" + ], + "app_values": { + "tailscale": { + "hostname": "$QUESTION(tailscale_hostname)", + "auth_key": "$QUESTION(tailscale_auth_key)", + "auth_once": true, + "reset": false, + "accept_dns": false, + "userspace": true, + "accept_routes": false, + "advertise_exit_node": false, + "additional_envs": [ + { + "name": "TS_SERVE_CONFIG", + "value": "/config/serve.conf" + } + ] + }, + "network": { + "host_network": true + }, + "storage": { + "state": "$HOST_PATH($LOCATION(ApplicationsPerformance)/tailscale/state)", + "additional_storage": [ + "$MOUNTED_HOST_PATH($LOCATION(ApplicationsPerformance)/tailscale/config, /config)" + ] + }, + "resources": { + "limits": { + "cpus": 2, + "memory": "$MEMORY(5%, 1024)" + } + } + } +}