Already using TeslaMate? Add LiveTa API, choose a connection, then scan with your phone. Tailscale is recommended; existing HTTPS and Cloudflare are also supported.
This guide accompanies setup package v1.3. Connections and pairing with existing services have been verified. First-time installation on a new host, Windows installation and networks in mainland China still require real-world validation. After starting the API with Compose, generate a pairing file separately or open the local assistant. Compose does not automatically open a built-in container pairing page.
01 / PREPARATION
Have you deployed TeslaMate?
LiveTa does not replace TeslaMate or ask for your Tesla password. TeslaMate handles vehicle authorization and recording. LiveTa API reads your own database and MQTT, and the iPhone app connects using a one-time pairing code.
Install TeslaMate using its official documentation first
Set up Docker, the database, MQTT and TeslaMate. Confirm that your vehicle and new records are visible, then return here. The current LiveTa installer does not install a complete TeslaMate stack from scratch.
Install the LiveTa build you received on your iPhone. Full Cloudflare pairing QR codes require App build 122 or later.
If LiveTa API is already running, skip the initial installation and check the connection before pairing. Do not remove another app’s API, existing containers or databases to connect LiveTa.
02 / INSTALL THE API
Add the API to your TeslaMate server.
Installing LiveTa API does not require Tailscale or Cloudflare. Those are optional connection methods in the next step. Both installation paths use the same setup package: Docker users can use Compose directly, while desktop users can open the optional assistant.
1
Download, extract and open the Connector folder
Extract the entire ZIP into a separate directory on your server. Do not upload only compose.yaml: the build also needs the included source files. On a NAS, upload the complete folder using its file manager, then use a container project or SSH terminal.
This example starts from the parent of the extracted folder. Adjust the path to your extraction location.
2
Enter your existing Docker network and MQTT settings
Create this file in Connector: .env. These are example names from a common setup. Replace them with your existing TeslaMate configuration; they are not universal credentials or fixed passwords.
If MQTT authentication is enabled, add these to the file: MQTT_USERNAME, MQTT_PASSWORD; for TLS, set MQTT_TLS=1. Keep your existing authentication enabled.
3
Enter your existing database connection
Create the runtime folder, then create runtime/full-provider.env. Reuse the existing database connection. Do not reset the TeslaMate database password.
Use one entry per line in the form KEY=value, without shell quotes. Replace the example password with your real password, restrict file access and never upload it to the website, a repository or screenshots. LiveTa API enforces read-only TeslaMate queries; its own pairing state and cache are stored in a separate runtime directory.
Expected response: 200. This checks basic API health, not vehicle data or remote connectivity. Complete the connection and phone tests below.
The API binds only to 127.0.0.1:8795 by default.
Entering your computer’s HTTP address on the phone will not work. Configure one of the HTTPS connections below. Do not expose the database, MQTT or Docker management interface to the internet.
Automatically detect your TeslaMate setup
Run on the Mac or Linux host running TeslaMate, or over NAS SSH. Detect the Docker network, database credentials, MQTT authentication and topic prefix, build the API and verify connectivity without entering these settings.
Requires Docker, Compose 2.30+ and Python 3.9+. Ambiguous instances, an existing API or unsupported settings cause a safe stop without overwriting services. HTTPS sign-in, authorization and phone pairing remain interactive. Fresh-host end-to-end testing is pending.
Tailscale recommended. Two alternatives available.
Deploy the API first, then choose a connection.LiveTa API reads TeslaMate on your home server. Your phone connects using any one of the methods below. Installing the API does not mean you must install Tailscale, and you do not need to enable all three methods.
How to choose: Tailscale is recommended if you do not want to configure a domain; it must run on both phone and server. To install only LiveTa on your phone, choose Cloudflare Tunnel + Access: the Tunnel runs on the server and no Cloudflare phone client is needed. If you already have trusted HTTPS, reuse it. Every method still requires LiveTa phone pairing authentication.
Tailscale: put your phone and server on the same private network
Install Tailscale on your phone and the server running the API. Sign in to the same tailnet and keep both connected.
Enable MagicDNS and HTTPS in the Tailscale admin console. Tailscale Serve provides setup guidance when needed.
If Tailscale runs on the server host, use the command below to serve the local API port over HTTPS.
Use the full HTTPS address printed by the command, for example https://YOUR_DEVICE.YOUR_TAILNET.ts.net:9443. Do not substitute http://100.x.x.x; LiveTa accepts HTTPS only.
Reuse an existing Tailscale installation rather than adding duplicate nodes. The command above is for host-level Tailscale. If you use a separate Tailscale container managed by the pairing assistant, follow its installation, sign-in and HTTPS steps instead of mixing in host proxy commands.
Configure your existing reverse proxy to reach the local API through a trusted HTTPS domain.
For a proxy running on the host, the origin is usually http://127.0.0.1:8795. In a separate proxy container, 127.0.0.1 refers to that container itself. Configure a reachable origin for your actual Docker network.
Select “Existing HTTPS” in the assistant, check and save your address, or generate a standard pairing code using the next section.
Local-only access still requires valid HTTPS.
Your phone must be on a network that can reach the address; it may not connect away from home. Selecting “Local only” does not install certificates, configure your router, enable remote access or bypass certificate validation.
This path does not install Tailscale or Cloudflare, but still requires LiveTa API phone pairing authentication. Plain HTTP or a certificate your phone does not trust is not a completed setup.
Cloudflare: a separate Tunnel protected by Access
For users who want only LiveTa on their phone and are comfortable maintaining a domain and Cloudflare configuration. Use the local assistant below for full Cloudflare pairing.
Prepare a domain and named Tunnel in your own Cloudflare account. Assign a dedicated hostname to the API.
In this tool’s current deployment, Tunnel and API run separately but share the API network namespace, so the origin is http://127.0.0.1:8080. Do not copy this unchanged into a different network layout.
Create an Access Self-hosted application protecting the entire API hostname, including /api/health, /api/pair and all other endpoints.
Use a Service Auth policy allowing only your own phone Service Token. Do not configure Everyone or Bypass.
On the assistant’s Cloudflare page, enter the hostname, Tunnel token, Access Client ID and Client Secret. Start the separate Tunnel and run the checks.
Generate a full Cloudflare QR code. Scan it on your phone, verify the address, connect and select your vehicle.
The Tunnel token stays on the computer. Access credentials are stored in the phone’s Keychain and scoped to the server address. Cloudflare QR codes contain sensitive Access credentials and must not be shared publicly. Cloudflare proxies vehicle data and authorization requests.
A browser being denied direct API access does not mean the service is broken: Service Auth requires dedicated credentials. Use the assistant to verify that anonymous requests are denied and valid credentials succeed. Renew expired or revoked Access credentials; never enter a Tunnel token on your phone.
Installing the API does not start Cloudflare by default. The connection component currently binds to the API container’s network namespace. After recreating the API container, rebind the Tunnel; arbitrary container recreation is not guaranteed to be maintenance-free.
04 / PAIR YOUR PHONE
Generate the QR code on your own server.
This website provides documentation and setup files only. It does not generate or store real pairing QR codes. You do not need to send anyone your Tesla password, database password or Access Secret.
Using the local assistant
Open the assistant, choose your configured Tailscale, HTTPS or Cloudflare connection and check it.
Click “Generate pairing QR code”. The code appears on the computer running the assistant.
On your phone, open LiveTa → Settings → TeslaMate Connection → Scan pairing QR code.
Verify the server address, tap Connect, choose your vehicle and open the overview.
Using the Compose command line (Tailscale / existing HTTPS)
Replace the example address below with your actual HTTPS address, already configured and verified as reachable.
Open this file in your computer’s browser: Connector/runtime/pairing.html. On a NAS, use your private file manager to download the file to your computer and open it there. Never upload it publicly. For Cloudflare, use the assistant to generate a full QR code; a standard QR code does not include Access credentials.
Pairing codes expire after 10 minutes and can be used once.
Generating a new code replaces an unused old code without disconnecting already paired phones. Cloudflare Access credentials have their own expiry; they do not expire automatically with the 10-minute pairing code.
Verify the connection
The overview’s “Last successful fetch” time keeps updating, rather than only showing old records.
Trip and charging details load, and the vehicle identity is correct.
For remote access, turn off phone Wi-Fi and test on cellular. In Tailscale mode, keep both ends connected. In Cloudflare mode, you can turn off Tailscale on the phone to test independently.
Updates, backups and migration
Back up your TeslaMate database, existing Compose configuration and LiveTa’s private runtime. Never include runtime in a public setup package: it may contain database connections, pairing state, cache and Access credentials.
Keep the previous setup package and backups before upgrading, and follow the release instructions. No official public multi-architecture image is currently published for all environments. Do not treat example or unknown image addresses as official downloads.
The API and Tunnel are separate containers. Do not use docker compose down -v for routine updates or delete the TeslaMate database to “fix” a connection. Moving servers involves new pairing; retain the old connection as a fallback before changing addresses.
Find which part of the connection is failing.
No new data, but old records are still visible
This may be local cache. Check the last successful fetch time, then check for new TeslaMate records, API database and MQTT settings, the HTTPS address and your network. Values on the overview alone do not prove the connection works.
Cannot connect with Tailscale turned off
This is usually expected for a saved Tailscale address: both phone and server need a Tailscale connection. Using Cloudflare in LiveTa does not change other apps’ addresses; they may still depend on their own Tailscale connection.
Pairing code expired or already used
Generate a new code and use it within 10 minutes. After scanning, verify the address, tap Connect and choose a vehicle. Do not repeatedly scan an old file or send real QR codes to public group chats.
Cloudflare access denied or credentials expired
Use the assistant to check the domain, Access policy and credentials. Anonymous requests being blocked means protection works. If valid credentials are also denied, check the Secret, expiry and allowed Token. Do not switch to Bypass to work around it.
503 errors, slow loading or a persistent spinner
Check whether all pages fail. Inspect running containers, basic API health, database and MQTT reachability, query range and service logs. In a support report, include the time, app version, connection method and redacted screenshots. Do not send keys, full location trails or database passwords.
Compose reports an unknown format setting
The configuration uses env_file raw format and requires Compose 2.30.0 or later. Upgrade Docker Compose or Docker Desktop and retry. Do not delete database environment settings to skip the error.
Are mainland China access, Lock Screen updates and notifications guaranteed?
No. Test each connection method on your actual network; stable access through every mainland carrier is not guaranteed. Notifications and background Lock Screen updates also depend on system permissions, scheduling and push configuration. Remote Lock Screen push is not connected yet; this guide does not indicate that it is enabled.
Keep control of your connection.
LiveTa is an independent TeslaMate client, not affiliated with Tesla or TeslaMate. Network, domain and photo services follow their respective arrangements. “Currently free” does not mean every feature will remain free forever.