LiveTa 部署指南
LIVETA / SELF HOSTED

把自己的车况数据,
连接到 LiveTa。

已有 TeslaMate?添加 LiveTa API,选择连接方式,再用手机扫码。
推荐使用 Tailscale;已有 HTTPS 和 Cloudflare 也可以。

TeslaMate记录车辆数据→LiveTa API提供只读接口→安全连接TS / HTTPS / CF→LiveTa App扫码查看
当前为自建预览版。

本指南基于配套资料 v1.3。现有服务的连接与配对已验证;全新主机首次部署、Windows 安装及大陆网络仍需在实际环境验收。Compose 启动 API 后,目前还需要另外生成配对文件或打开本机助手,并不会自动弹出容器内置配对页。

01 / 准备工作

你已经部署 TeslaMate 了吗?

LiveTa 不替代 TeslaMate,也不要求你向 LiveTa 输入 Tesla 密码。TeslaMate 负责车辆授权和记录,LiveTa API 读取你自己的数据库与 MQTT,iPhone App 用一次性配对码连接 API。

保留现有 TeslaMate,只添加 LiveTa API。 按下面的步骤配置连接服务,然后扫码配对。

继续安装 LiveTa API ↓
  • TeslaMate、PostgreSQL、MQTT 均在运行,且车辆有记录。
  • 你能管理这台服务器,知道 Docker 网络、数据库主机、库名、用户和密码,以及 MQTT 主机配置。
  • 已安装 Docker 和 Docker Compose 2.30.0 或以上;Windows Docker Desktop 使用 Linux 容器。
  • iPhone 已安装你获得的 LiveTa 版本。完整 CF 二维码需要 App 122 或更新版本。

如果已经运行 LiveTa API,请跳过首次安装,直接检查连接并配对。不要为了连接 LiveTa 删除其他 App 的 API、现有容器或数据库。

02 / 安装连接服务

在 TeslaMate 所在服务器添加 API。

安装 LiveTa API 本身不要求 Tailscale 或 Cloudflare;它们属于下一步的可选连接方式。下面两条路径使用同一份部署资料:熟悉 Docker 的用户可直接使用 Compose,桌面电脑用户也可以打开可选助手。

1

下载、解压,进入 Connector 文件夹

把整个部署 ZIP 解压到服务器上的独立目录。不要只上传 compose.yaml,构建还需要配套源码。NAS 用户可通过文件管理器上传完整文件夹,再在容器项目或 SSH 终端中操作。

下载 LiveTa API 部署资料 v1.3
进入解压目录
cd "LiveTa API/Connector"

路径示例从解压后的上级目录开始;请按自己的解压位置调整。

2

填写现有 Docker 网络和 MQTT

在 Connector 中创建 .env。以下是常见部署的示例名称,必须按现有 TeslaMate 配置修改,不是通用账号或固定密码。

.env
TESLAMATE_NETWORK=teslamate_default
MQTT_HOST=mosquitto
MQTT_PORT=1883
MQTT_TOPIC_PREFIX=teslamate/cars

如果 MQTT 已启用认证,在此文件增加 MQTT_USERNAME、MQTT_PASSWORD;使用 TLS 时设置 MQTT_TLS=1。不要为了此步骤关闭原来的认证。

3

填写现有数据库连接

创建 runtime 文件夹,再创建 runtime/full-provider.env。沿用现有数据库连接,不要重设 TeslaMate 数据库密码。

runtime/full-provider.env
PGHOST=database
PGPORT=5432
PGDATABASE=teslamate
PGUSER=teslamate
PGPASSWORD=REPLACE_WITH_EXISTING_DB_PASSWORD
PGOPTIONS=-c default_transaction_read_only=on

每行采用 KEY=value,不要加 Shell 引号。把示例密码替换为真实密码,限制配置文件访问权限,不要上传到官网、代码仓库或截图中。LiveTa API 强制以只读方式查询 TeslaMate;自身配对与缓存保存在独立 runtime 中。

4

启动 API,确认服务正常

启动服务
docker compose up -d --build livelight-connector
检查本机健康接口
docker compose exec -T livelight-connector python -c "import urllib.request; print(urllib.request.urlopen('http://127.0.0.1:8080/api/health').status)"

预期返回 200。这是 API 基础健康检查,不代表车辆数据和外网连接已经全部验证;还需完成下面的连接与手机测试。

API 默认只映射到本机 127.0.0.1:8795。

直接在手机填写电脑的 HTTP 地址并不可用。先配置下面任一种 HTTPS 连接;不要把数据库、MQTT 或 Docker 管理接口映射到公网。

03 / 连接方式

默认推荐 Tailscale,保留另外两种选择。

先部署 API,再选择连接方式。LiveTa API 在家中的服务器读取 TeslaMate;手机通过下面任一种方式连接 API。安装 API 不等于必须安装 Tailscale,也不需要同时启用三种方式。

怎样选:不想配置域名,推荐 Tailscale,手机和服务器都需要运行它;希望手机只安装 LiveTa,可以选择 Cloudflare Tunnel + Access,服务器运行 Tunnel,手机不需要 Cloudflare 客户端;已有可信 HTTPS 地址的用户可以直接复用。无论选择哪种方式,手机都需要完成 LiveTa 配对鉴权。

Tailscale:手机和服务器进入同一个私有网络

  1. 在手机和运行 API 的服务器上安装 Tailscale,登录同一个 tailnet,并让两端保持连接。
  2. 在 Tailscale 管理后台确认 MagicDNS 和 HTTPS 已启用。Tailscale Serve 会在需要时提供配置引导。
  3. 如果 Tailscale 运行在服务器宿主机,可用下方命令把本机 API 端口接入 HTTPS。
宿主机 Tailscale Serve
tailscale serve --bg --https=9443 http://127.0.0.1:8795

使用命令输出的完整 HTTPS 地址,例如 https://YOUR_DEVICE.YOUR_TAILNET.ts.net:9443。不要用 http://100.x.x.x 替代;LiveTa 仅接受 HTTPS。

已有 Tailscale 时优先复用,不要无故安装重复节点。上面的命令适用于宿主机 Tailscale;如果使用配对助手管理的独立 Tailscale 容器,请按助手的安装、登录和 HTTPS 步骤操作,不混用宿主机代理命令。

Tailscale Serve 官方说明 ↗ · 启用 HTTPS ↗

04 / 手机配对

二维码在自己的服务器生成。

官网只提供安装文档和部署文件,不生成或存储你的真实配对二维码。你不需要把 Tesla 密码、数据库密码或 Access Secret 发给任何人。

使用本机助手

  1. 打开助手,选择已配置好的 Tailscale、HTTPS 或 CF,检查连接。
  2. 点击“生成配对二维码”。二维码显示在运行助手的电脑页面上。
  3. 手机打开 LiveTa → 设置 → TeslaMate 连接 → 扫描配对二维码。
  4. 核对服务地址,点击连接,选择车辆,再进入首页。

使用 Compose 命令行(Tailscale/已有 HTTPS)

先把下面的示例地址替换为你已经配置并验证可达的真实 HTTPS 地址。

生成本机配对文件
docker compose exec -T livelight-connector python /app/connector.py pair --origin https://YOUR_DEVICE.YOUR_TAILNET.ts.net:9443 --output /data/pairing.html

在电脑浏览器打开 Connector/runtime/pairing.html。NAS 用户可通过自己的私有文件管理将这个文件下载到电脑后打开。不要上传到公开网站。CF 请使用助手生成完整二维码;普通二维码不包含 Access 凭据。

配对码 10 分钟内有效,只能使用一次。

生成新码会替换尚未使用的旧码,不会退出已经连接的手机。CF Access 凭据有独立有效期,并不会跟随 10 分钟配对码自动失效。

验收连接

  • 首页“最后成功读取”时间能持续更新,而不只是显示旧记录。
  • 行程和充电详情可以加载,车辆身份正确。
  • 远程使用时关闭手机 Wi‑Fi,以蜂窝网络再测试一次。TS 模式保持两端 TS 连接;CF 模式可以关闭手机 TS 单独测试。

更新、备份和迁移

备份 TeslaMate 数据库、现有 Compose 配置,以及 LiveTa 的私有 runtime。不要把 runtime 放进公开安装包;它可能含数据库连接、配对状态、缓存及 Access 凭据。

升级前保留旧版本部署资料和备份,按版本说明更新。当前没有发布可供所有环境直接拉取的正式公共多架构镜像;不要把示例或未知镜像地址当作正式下载。

API 与 Tunnel 为独立容器。不要用 docker compose down -v 作为常规更新方式,也不要删除 TeslaMate 数据库来“修复连接”。更换服务器会涉及新的配对;更新地址前保留旧连接作为回退。

先定位是哪一段没有连通。

手机没有新数据,但以前的记录还能看到

可能只是本机缓存。先看最后成功读取时间,再检查 TeslaMate 是否有新记录、API 的数据库与 MQTT 配置、HTTPS 地址以及当前网络。不要仅凭首页有数值判断连接成功。

Tailscale 关闭后连不上

如果保存的是 TS 地址,这通常是预期行为;手机和服务器两端需要 TS 连接。LiveTa 走 CF 不会自动替其他 App 更改服务地址,其他 App 仍可能依赖自己的 TS 地址。

配对码失效或提示已经使用

重新生成,并在 10 分钟内使用。扫码后还需要核对地址、点击连接和选择车辆。不要反复扫描旧文件,也不要把真实二维码发送到公共群聊。

CF 被拒绝,或 Access 凭据过期

先用助手检查域名、Access 策略与凭据。匿名请求被拦截是保护生效;有效凭据也被拒绝则需检查 Secret、有效期及允许的 Token。不要改成 Bypass 来绕过问题。

报 503、加载慢或一直转圈

先区分是否所有页面都失败。检查容器是否运行、API 基础健康、数据库/MQTT 可达性、查询范围和服务日志。发送故障反馈时提供时间、App版本、连接模式和脱敏截图,不要发送密钥、完整轨迹或数据库密码。

配置时报 Compose 不认识 format

当前配置使用 env_file 的 raw 格式,需要 Compose 2.30.0 或以上。升级 Docker Compose/Docker Desktop后再试,不要通过删除数据库环境配置来跳过错误。

大陆网络、锁屏更新和通知是否都已保证可用

没有。三种连接方式都需要在实际网络验证,不能保证所有大陆运营商稳定可达。通知与锁屏后台更新还受系统权限、调度及实际推送配置影响;当前锁屏远程推送仍未接通,不能把本指南当作其已启用的说明。

把连接留在自己的掌握里。

LiveTa 是独立的 TeslaMate 客户端,与 Tesla 或 TeslaMate 官方无隶属关系。网络服务、域名和照片服务按各自方案处理;不要把“当前免费”理解为所有功能永久免费。

下载部署资料 v1.3 ↗