Self-hosted TeslaMate or managed hosting? Do the real math
The software is free, but "free" only covers the source code. Once you add the server, the backups, the certificates, the upgrades and your own hours, the ranking may not be what you expect.

- TeslaMate is free, but "free" only covers the source code — not the server, backups, certificates, upgrades or your hours.
- The real costs of self-hosting are three things that never appear on an invoice: your time, whether your backups actually restore, and internet exposure.
- TeslaMate and Grafana ship with no authentication; exposing them publicly publishes your location history, home address and daily routine.
- A cloud VPS runs roughly $50–110/year. MyTeslaCloud is $39.99/year.
- If you already own a NAS, self-hosting is near-free at the margin — then the trade is time and risk, not money.
Almost everyone who wants to log their Tesla ends up at the same open-source project: TeslaMate. It is free, it is open, and its Grafana dashboards slice driving, charging and battery data dozens of ways. Which raises the obvious question — if the software is free, why would anyone pay for hosting?
This article is not going to tell you self-hosting is bad. Self-hosting is great; it is how we started. But the word "free" only covers the source code, not everything needed to keep it running. Add up the whole bill and you can judge which route fits you.
The three routes at a glance
| Self-host (NAS) | Self-host (cloud VPS) | MyTeslaCloud | |
|---|---|---|---|
| Hardware | Free if you own one, ~$200+ if not | $4–9 / month | None |
| Setup | Docker Compose + reverse proxy | Same, plus Linux admin | None — just an email |
| Remote access | VPN or tunnel required | Domain + TLS + firewall | SSL domain included |
| Database backups | Your own cron job | Your own cron job | Handled for you |
| Upgrades | Pull images, sometimes fix config | Same | One click |
| If it breaks | Forums / GitHub issues | Same | Direct support channel |
| Data ownership | Entirely yours | Entirely yours | Private DB instance, exportable |
| Yearly cost | Power + your time | ~$50–110 | $39.99 / year |
The expensive part of self-hosting is not the server
The server is the easy number. The hard ones are below. None of them show up on an invoice, and every one of them is real.
1. Your time
Getting TeslaMate, PostgreSQL and Grafana up under Docker Compose takes an hour or two if it goes well, and can eat a weekend if it does not — port conflicts, wrong timezone, map API keys, figuring out how to turn off Grafana anonymous access. That is a one-time cost. The recurring one is every upstream release: pull the images, read the breaking changes, occasionally migrate the database.
2. Backups — and whether they actually restore
Your entire driving and charging history lives in one PostgreSQL database. One dead disk and years of data are gone — and the whole value of this data is that it is long, so you cannot just start over. Self-hosting therefore means a scheduled pg_dump plus copies on another machine or in object storage.
The nastier half: a backup you have never restored is not a backup. The day you need it is the day you discover the script has been failing silently since the disk filled up six months ago. This happens far more often than people expect.
3. Exposing it to the internet
TeslaMate and Grafana ship with no authentication at all. Anyone who can reach that IP and port can see your full location history, your home address, when you leave for work and how you charge. That is an unusually sensitive personal record.
If you only look at it on your home LAN, fine. But most people install it and immediately want access from outside, which is where port forwarding starts — and once you expose a home service to the internet, the thing at risk is not just TeslaMate but your entire home network. The sane route is a VPN like WireGuard or Tailscale rather than an open port. If you truly need public access, you are signing up for reverse proxies, TLS certificates, fail2ban and continuous patching.
When self-hosting is genuinely the better call
In fairness, these cases favour self-hosting and we would not talk you out of it:
- You already run a NAS or home server and adding a container is a five-minute job;
- You want to query the database directly, write your own SQL or build custom Grafana panels;
- Your rule is that the data never leaves your own disk, and that outranks any convenience;
- You enjoy the tinkering — a perfectly good reason, and the reason plenty of people run TeslaMate at all.
What managed hosting actually removes
MyTeslaCloud is not a replacement for TeslaMate — it is TeslaMate, with the infrastructure half taken off your hands: a private database instance, SSL certificate, enterprise-grade datacenter, failover, routine backups and one-click upgrades. Your side of the work is two things: subscribe, and paste in a Tesla token.
Already self-hosting with history you care about? You do not start over — we offer a database migration so your existing TeslaMate backup is imported and the record simply continues.
What the year actually costs
Say you have no NAS and go the VPS route: a small instance big enough for PostgreSQL at roughly $6/month is about $72 a year, before a domain and before your own time. MyTeslaCloud is $4.99/month, or $39.99 billed yearly — meaningfully less than running it yourself, with none of the maintenance.
If you already have a NAS running 24/7, the marginal cost of self-hosting really is close to zero, and what is left is a trade between your time and your risk tolerance. Only you can price that.
Frequently asked questions
Self-hosting costs are estimates for common configurations; your hardware and provider will vary. MyTeslaCloud pricing verified September 2026 — see the pricing page for current rates.