在这篇文章中,我将一步一步地指导你如何安装和设置 TeslaMate 到你的Vultr云实例上。从选择你的虚拟机配置到在你的虚拟机上安装和配置该工具。寻找关于BuyVM的指南? 买入指南.
在本教程中,我使用 Vultr 因为他们有一种理想的方式,可以用他们的预设镜像建立一个docker服务器,并很快开始工作。我还喜欢如果你对TeslaMate不满意,你可以轻松地摧毁云实例,继续你的一天。然而,看看你能用多大程度的 $100的免费点数 (必须在30天内使用积分)!
TeslaMate的特点。
- 驱动器和充电报告
- 驾驶效率报告
- 能源消耗(净值/总值)
- 增加的充电能量与使用的能量
- 吸血鬼排水
- 预计100%射程(电池衰减情况)
- 充电统计表
- 驱动力统计
- 已安装更新的历史
- 查看您的汽车何时在线或处于睡眠状态
- 终身驾驶地图
- 访问过的地址
另外,还要检查你的车的状态(包括电池水平),而不会吵醒你的车!
我们将遵循开发者的高级说明,因为我们将使用一个云实例,或者,你可以将其安装在Rasberry Pi或你身边的额外电脑上。然而,我喜欢这个选项,因为 Vultr 由于很容易为任何人重新制作。
部署新实例

选择服务器:云计算

服务器位置:芝加哥(我选择了芝加哥,但你可以选择最适合你的方式)。
- 美国亚特兰大
- 美国纽约(NJ)市
- 美国芝加哥
- 美国达拉斯
- 美国洛杉矶
- 美国,迈阿密
- 美国,西雅图
- 美国,硅谷
- 多伦多,加拿大
- 荷兰,阿姆斯特丹
- 法国,巴黎
- 法兰克福,德国
- 英国,伦敦
- 日本,东京
- 新加坡, 新加坡
- 悉尼,澳大利亚
服务器类型:申请。 码头:在 CentOS 7 x64 19.03.4-ce

服务器大小: 25GB SSD
$5.00/月或$0.007/小时
1 CPU
1024MB 记忆*
1000GB 带宽

*注意:Docker需要一个至少有768MB内存的计划。
点击进入 现在就部署!

点击 "产品"!


服务器信息

下载 浦发银行
输入IP地址 并点击 打开!
GUIDE:高级Docker安装(Traefik, Let's Encrypt, HTTPS, HTTP Basic Auth)。
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
设置 - docker-compose.yml
版本。"3"
服务。
teslamate。
image: teslamate/teslamate:latest
重新启动: 总是
depends_on:
- 数据库
环境。
- database_user=${tm_db_user}.
- 数据库密码=${tm_db_pass}。
- 数据库名称=${tm_db_name}。
- DATABASE_HOST=数据库
- MQTT_HOST=mosquitto
- virtual_host=${fqdn_tm}。
- CHECK_ORIGIN=true
- tz=${tm_tz}。
卷。
- ./import:/opt/app/import
标签。
- "traefik.enable=true"
- "traefik.port=4000"
- "traefik.http.middlewares.redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.teslamate-auth.basicauth.realm=teslamate"
- "traefik.http.middlewares.teslamate-auth.basicauth.usersfile=/auth/.htpasswd"
- "traefik.http.routers.teslamate-insecure.rule=Host(`${FQDN_TM}`)"
- "traefik.http.routers.teslamate-insecure.middlewares=redirect"
- "traefik.http.routers.teslamate-ws.rule=Host(`${FQDN_TM}`) && Path(`/live/websocket`) "
- "traefik.http.routers.teslamate-ws.entrypoints=websecure"
- "traefik.http.routers.teslamate-ws.tls"
- "traefik.http.routers.teslamate.rule=Host(`${FQDN_TM}`)"
- "traefik.http.routers.teslamate.middlewares=teslamate-auth"
- "traefik.http.routers.teslamate.entrypoints=websecure"
- "traefik.http.routers.teslamate.tls.certresolver=tmhttpchallenge"
cap_drop。
- 所有
数据库。
image: postgres:13
重新启动: 总是
环境。
- postgres_user=${tm_db_user}.
- postgres_password=${tm_db_pass}。
- POSTGRES_DB=${TM_DB_NAME}
卷。
- teslamate-db:/var/lib/postgresql/data
grafana。
Image: teslamate/grafana:latest
重新启动:总是
环境。
- database_user=${tm_db_user}.
- database_pass=${tm_db_pass}。
- 数据库名称=${tm_db_name}。
- DATABASE_HOST=数据库
- grafana_passwd=${grafana_pw}。
- gf_security_admin_user=${grafana_user}。
- gf_security_admin_password=${grafana_pw}。
- GF_AUTH_ANONYMOUS_ENABLED=false
- gf_server_domain=${fqdn_tm}。
- GF_SERVER_ROOT_URL=%(协议)s://%(域)s/grafana
- GF_SERVER_SERVE_FROM_SUB_PATH=true
卷。
- teslamate-grafana-data:/var/lib/grafana
标签。
- "traefik.enable=true"
- "traefik.port=3000"
- "traefik.http.middlewares.redirect.redirectscheme.scheme=https"
- "traefik.http.routers.grafana-insecure.rule=Host(`${FQDN_TM}`)"
- "traefik.http.routers.grafana-insecure.middlewares=redirect"
- "traefik.http.routers.grafana.rule=Path(`/grafana`) || PathPrefix(`/grafana/`)"
- "traefik.http.routers.grafana.entrypoints=websecure"
- "traefik.http.routers.grafana.tls.certresolver=tmhttpchallenge"
mosquitto。
Image: eclipse-mosquitto:2
重新启动:总是
命令:mosquitto -c /mosquitto-no-auth.conf
端口。
- 127.0.0.1:1883:1883
卷。
- mosquitto-conf:/mosquitto/config
- mosquitto-data:/mosquitto/data
代理。
image: traefik:v2.4
重新启动:总是
命令。
- "--global.sendAnonymousUsage=false"
- "--providers.docker"
- "--providers.docker.exposedByDefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.tmhttpchallenge.acme.httpchallenge=true"
- "--certificatesresolvers.tmhttpchallenge.acme.httpchallenge.entrypoint=web"
- "--certificatesresolvers.tmhttpchallenge.acme.email=${LETSENCRYPT_EMAIL}"
- "--certificatesresolvers.tmhttpchallenge.acme.storage=/etc/acme/acme.json"
端口。
- 80:80
- 443:443
卷。
- ./.htpasswd:/auth/.htpasswd
- ./acme/:/etc/acme/。
- /var/run/docker.sock:/var/run/docker.sock:ro
卷。
teslamate-db:
teslamate-grafana-data:
mosquitto-conf:
mosquitto-data:
设置 - .env
TM_DB_USER=teslamate
TM_DB_PASS=secret
TM_DB_NAME=teslamate
GRAFANA_USER=admin
GRAFANA_PW=admin
FQDN_TM=teslamate.example.com
TM_TZ=Europe/Berlin
LETSENCRYPT_EMAIL=yourperson@example.com
设置 - .htpasswd
根据TeslaMate的文档。我建议你使用这个工具来创建你的.htpasswd文件。
http://www.htaccesstools.com/htpasswd-generator/
输入你想要的 帐号, 密码 和 选择Bcrypt(Apache v2.4以上版本)。
在下面的例子中,我输入了 帐号 和 密码 为这些领域。
例子。
my:$2y$10$as5PEnYaoGEx2ebCFjdK0e9PBshAsvzIeAKijwNgeMSC9oJkDNo2。
现在复制并粘贴这些信息到你的.htpasswd文件中。
vi .htpasswd(或你喜欢的文本编辑器)。
在使用Docker启动Teslamate之前,请确保你设置了密码!
docker-compose up
注意:你可能需要运行这个命令两次才能发挥作用。
DNS设置
你将需要把teslamate.example.com + grafana.exampe.com(你的子域)指向Vultr在你创建虚拟服务器时提供给你的IP地址。这可以通过联系你的虚拟主机或登录你的控制面板来管理你的DNS记录并添加这些条目来完成。
登录TeslaMate
- 打开网络界面 https://teslamate.example.com
用你输入到.htpasswd文件中的详细信息登录,然后会提示你用你的特斯拉账户登录。 - 用你的特斯拉账户登录
- Grafana 仪表板可在以下网站上找到: https://grafana.example.com.
- 输入用户名:密码。管理员:管理员 首先,你会被提示在第一次登录时更改密码。
我花了$0.01或1便士来测试Teslamate。$0.02来完成这个教程。 🙂

你可以在设置中把摄氏度改为华氏度,把公里数改为英里。

这就是主屏幕的样子。你还会看到一张地图,上面有你的特斯拉汽车的位置针。

我在最近的普通12A插座上进行了一次充电,以显示TeslaMate的充电过程是什么样的。干净的界面!🙂


2020年3月10日更新
TeslaMate在大约16天前发布了v1.17.1的更新。
- 添加 旅程仪表板:这个仪表板是为可视化较长的旅行而建立的。它提供了一个在几个小时或几天内记录的所有驾驶和收费的概况。
- TeslaMate发布页
我很高兴能测试这个新的 旅程仪表板 在新版本中添加了。这对特斯拉的公路旅行当然会有很大帮助!🙂。
这是我用来构建本教程部分内容的文档。
https://docs.teslamate.org/docs/guides/traefik
https://docs.teslamate.org/docs/guides/portainer
2020年3月21日更新
如何使用Teslamate以外的新行程功能。
- 打开网络界面 https://teslamate.example.com
- 仪表板 => 点选或点击"旅程“
- 点选或点击"今天到目前为止”
- 从""中选择预设最后5分钟",一直到"过去5年"或自定义日期范围选择。






我希望这个设置指南对你有帮助。 🙂
“How to Setup TeslaMate with Docker”上的一条回复
Salut merci pour ton article, top 🙂
就我而言,在对这种类型的安装感到满意并耗费了大量时间之后,我现在主要使用的是 https://www.myteslamate.com/fr 它能在几秒钟内将 TeslaMate 安全地备份到云端。
我建议