feat(tailscale): 添加 Tailscale 应用配置和文档

添加 Tailscale 应用的完整配置,包括:
- 基础数据配置 (data.yml)
- Docker Compose 部署文件
- 详细的中英文使用文档
- 应用 logo 图片

支持通过认证密钥或交互式登录两种认证方式,并提供子网路由、出口节点等高级功能配置
This commit is contained in:
arch3rPro
2026-04-24 11:54:16 +08:00
parent b8cffca85a
commit ce660b2674
8 changed files with 433 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
additionalProperties:
formFields:
- default: ""
edit: true
envKey: TS_AUTHKEY
labelEn: Tailscale Auth Key
labelZh: Tailscale 认证密钥
required: false
rule: paramCommon
type: password
description:
zh: 从 https://login.tailscale.com/admin/settings/keys 获取认证密钥,留空则需要在容器内执行 tailscale up 进行交互登录
en: Get auth key from https://login.tailscale.com/admin/settings/keys, leave empty for interactive login via tailscale up
- default: "false"
edit: true
envKey: TS_USERSPACE
labelEn: Userspace Mode
labelZh: 用户空间模式
required: false
type: select
values:
- label: "false (Kernel Networking)"
value: "false"
- label: "true (Userspace)"
value: "true"
description:
zh: "false 使用内核网络推荐true 使用用户空间网络"
en: "false for kernel networking (recommended), true for userspace"
- default: ""
edit: true
envKey: TS_ROUTES
labelEn: Subnet Routes (Optional)
labelZh: 子网路由(可选)
required: false
rule: paramCommon
type: text
description:
zh: 要广播的子网路由,如 192.168.1.0/24,10.0.0.0/8
en: Subnet routes to advertise, e.g. 192.168.1.0/24,10.0.0.0/8
- default: "true"
edit: true
envKey: TS_ACCEPT_DNS
labelEn: Accept DNS
labelZh: 接受 DNS
required: false
type: select
values:
- label: "true"
value: "true"
- label: "false"
value: "false"
- default: ""
edit: true
envKey: TS_EXTRA_ARGS
labelEn: Extra Arguments (Optional)
labelZh: 额外参数(可选)
required: false
rule: paramCommon
type: text
description:
zh: tailscale up 命令的额外参数,如 --accept-routes
en: Extra arguments for tailscale up command, e.g. --accept-routes

View File

@@ -0,0 +1,28 @@
services:
tailscaled:
container_name: ${CONTAINER_NAME}
image: tailscale/tailscale:v1.96.5
hostname: ${HOSTNAME:-tailscale}
restart: always
volumes:
- ./data/var/lib:/var/lib
- /dev/net/tun:/dev/net/tun
cap_add:
- NET_ADMIN
- SYS_MODULE
network_mode: host
privileged: true
environment:
- TS_AUTHKEY=${TS_AUTHKEY}
- TS_USERSPACE=${TS_USERSPACE:-false}
- TS_STATE_DIR=/var/lib
- TS_ROUTES=${TS_ROUTES:-}
- TS_ACCEPT_DNS=${TS_ACCEPT_DNS:-true}
- TS_EXTRA_ARGS=${TS_EXTRA_ARGS:-}
- TS_AUTH_ONCE=${TS_AUTH_ONCE:-false}
command: containerboot
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true