mirror of
https://github.com/yekk-me/teslamate-cn-image.git
synced 2026-08-12 22:31:46 +08:00
aac67f793400b562c93751f6769e16447afc4d86
🇨🇳 TeslaMate-CN-Docker
中国大陆可用的 TeslaMate 容器化方案 Teslamate 汉化 Teslamate 中文| TeslaMate Docker Solution for Mainland China
强烈推荐 Teslamate iOS app:Mytess
🌟 特性 Features
- ✅ 完整汉化 - 界面全面中文化(汉化中)
- 🗺️ 地图访问 - 内置代理服务器解决 OpenStreetMap 访问问题
- 🗺️ 百度地图 - 支持百度地址逆地址解析,车辆位置信息更精准
- 🐳 一键部署 - Docker Compose 一键部署
🚀 快速启动 Quick Start
本地内网部署步骤 Deployment
本项目提供两种部署方式:
| 版本 | 文件 | 说明 |
|---|---|---|
| 普通版本 | docker-compose.yml |
基础版本,包含 TeslaMate + Grafana |
| Mytesla 版本 | docker-compose-with-mytesla.yml |
集成 Mytesla Dash,现代化看板替代 Grafana |
📊 Mytesla Dash - Grafana 替代方案
Mytesla Dash 是一个现代化的 Tesla 数据看板,可以完美替代 Grafana 作为日常使用的数据展示界面。
为什么选择 Mytesla Dash?
- 现代化 UI - 简洁美观的界面设计,移动端友好
- 开箱即用 - 无需复杂的 Grafana 仪表盘配置
- 实时监控 - 车辆状态、充电进度实时展示
- 数据分析 - 行程记录、能耗统计、充电费用一目了然
- 地理围栏 - 支持自定义地理围栏,自动识别充电地点
- 分时计费 - 峰谷电价自动计算,精确统计充电成本
授权说明
注意:Mytesla Dash 需要一次性授权才能使用,首次访问时会引导完成授权流程。
获取授权码:小红书 Mytesla 授权
界面预览
🔐 反向代理与认证安全
docker-compose-with-mytesla.yml 采用 Traefik + ForwardAuth 架构,提供企业级的安全防护:
架构说明
┌─────────────────────────────────────────────────────────────┐
│ 用户请求 │
└─────────────────────────┬───────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ Traefik (反向代理) │
│ - 统一入口 (端口 80) │
│ - 路由分发 │
│ - 中间件处理 │
└─────────────────────────┬───────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ Auth Service (认证服务) │
│ - Cookie-based 会话认证 │
│ - 登录/登出管理 │
│ - ForwardAuth 中间件 │
└─────────────────────────┬───────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 后端服务 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │TeslaMate │ │ Dash │ │ Grafana │ │ API │ │
│ │/teslamate│ │ / │ │ /grafana │ │ /panel │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘
安全特性
| 组件 | 作用 |
|---|---|
| Traefik | 反向代理,统一管理所有服务的入口,隐藏内部服务端口 |
| Auth Service | 提供统一的登录认证,保护敏感数据不被未授权访问 |
| ForwardAuth | 每个请求都会先经过认证服务验证,确保只有登录用户才能访问 |
| 路径隔离 | 不同服务使用不同路径,互不干扰 |
访问路径
/- Mytesla Dash 主界面(需要登录)/teslamate- TeslaMate 管理界面(需要登录)/grafana- Grafana 仪表盘/login- 登录页面/logout- 登出/settings- 设置页面
🚀 部署指南
方式一:普通版本(TeslaMate + Grafana)
# 克隆仓库
git clone https://github.com/gococonut/teslamate-cn-docker.git
cd teslamate-cn-docker
# 启动服务
docker compose up -d
方式二:Mytesla 版本(推荐)
# 克隆仓库
git clone https://github.com/gococonut/teslamate-cn-docker.git
cd teslamate-cn-docker
# 启动服务
docker compose -f docker-compose-with-mytesla.yml up -d
访问服务
-
普通版本:
- TeslaMate:
http://your-ip:4000 - Grafana:
http://your-ip:3000
- TeslaMate:
-
Mytesla 版本:
- 统一入口:
http://your-ip(默认跳转到 Dashboard) - TeslaMate:
http://your-ip/teslamate - Grafana:
http://your-ip/grafana - TeslaMate API:
http://your-ip/mytesla/api(无需认证) - 默认登录: 用户名
admin/ 密码admin123(可在http://your-ip/settings设置页面修改)
- 统一入口:
⚠️ 重要:安全配置
在生产环境部署前,务必修改以下重要的环境变量,否则可能导致安全风险:
🔐 必须修改的环境变量
编辑 docker-compose-with-mytesla.yml 文件,修改以下配置:
1. Auth 服务登录凭据
auth:
environment:
- AUTH_USERNAME=admin # ⚠️ 修改为你的用户名
- AUTH_PASSWORD=admin123 # ⚠️ 修改为强密码
- SECRET_KEY=mytesla-secret-key-change-me # ⚠️ 修改为随机字符串(至少 32 位)
2. TeslaMate 加密密钥
teslamate:
environment:
- ENCRYPTION_KEY=your-encryption-key-change-me # ⚠️ 修改为随机字符串(至少 32 位)
3. 数据库密码
database:
environment:
- POSTGRES_PASSWORD=teslamate # ⚠️ 修改为强密码
teslamate:
environment:
- DATABASE_PASS=teslamate # ⚠️ 与数据库密码保持一致
4. Grafana 管理员密码
grafana:
environment:
- GRAFANA_PASSWD=admin123 # ⚠️ 修改为强密码
- GF_SECURITY_ADMIN_PASSWORD=admin123 # ⚠️ 修改为强密码
5. TeslaMate API Token
teslamateapi:
environment:
- API_TOKEN=PLEASE-CHANGE-THIS-API-TOKEN-IN-PRODUCTION # ⚠️ 修改为随机字符串
- ENCRYPTION_KEY=your-encryption-key-change-me # ⚠️ 与 TeslaMate 的加密密钥保持一致
💡 安全建议
-
生成随机密钥:使用以下命令生成安全的随机字符串
# Linux/macOS openssl rand -base64 32 # 或者 cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 -
强密码要求:
- 至少 12 位字符
- 包含大小写字母、数字和特殊字符
- 避免使用常见密码或个人信息
-
定期更换密码:建议每 3-6 个月更换一次关键密码
-
备份加密密钥:
ENCRYPTION_KEY用于加密敏感数据(如 Tesla API Token),丢失后无法恢复数据
修改后重启服务
# 停止服务
docker compose -f docker-compose-with-mytesla.yml down
# 重新启动
docker compose -f docker-compose-with-mytesla.yml up -d
Description


