TeslaMate安装及更新
TeslaMate中文版一键安装
相比英文版本的主要更新:
界面汉化,大部分图表都能中文显示
修复国内地图和位置信息无法显示的问题
添加更多的统计报表,比如:最近车辆状态,电池健康度等,速度统计等。
需求
一台云服务器,1G RAM以上,linux系统,推荐ubuntu 22.04 (可在阿里云腾讯云购买)
一键安装
如果之前安装过,请必务先备份数据再操作。
登录到终端,切换到root
sudo -i su
选择teslamate安装的目录,这里安装到/opt下
cd /opt
下载一键安装脚本
wget http://download.dhuar.com/teslamate/teslamate.tar.gz -O teslamate.tar.gz
解压,进入teslamate目录
tar xzvf teslamate.tar.gz && cd teslamate
开始安装,视网络状况,大概需要10min到30min.
bash install.sh
打开云服务器防火墙的 3000 端口和 4000 端口
用法
在浏览器访问: http://ip:4000 (将ip替换成云服务器ip),默认用户 admin (初始密码 admin) .
设置您的Tesla API tokens (如何获取token?)
特斯拉数据面板可以访问 http://ip:3000 (将ip替换成云服务器ip)
修改http://ip:4000的访问用户名密码
bash htpasswd.sh
更新
要将TeslaMate更新到最新版,可以运行以下命令:
docker compose pull
docker compose up -d
已安装英文版本的teslamate升级为中文版
(重要)备份数据,可参考 数据备份和还原
切换到root
sudo -i
进入到teslamate目录,编辑docker-compose.yml文件
将 image: teslamate/teslamate:latest
修改为 image: ccr.ccs.tencentyun.com/dhuar/teslamate:latest
将 image: teslamate/grafana:latest
修改为 image: ccr.ccs.tencentyun.com/dhuar/grafana:latest
执行命令
docker compose pull
docker compose up -d
数据备份和还原
备份
进入teslamate目录
云服务器一般在 /opt/teslamate 下
cd /opt/teslamate
nas一般在 /volume1/docker/teslamate 下
cd /volume1/docker/teslamate
创建备份文件
docker compose exec -T database pg_dump -U teslamate teslamate > ./teslamate.bck
检查备份文件大小
ls -lh teslamate.bck
如果teslamate.bck文件的大小为0,那就出错了没有备份成功。
压缩备份文件(可选)
gzip teslamate.bck
备份文件下载到电脑(可选)
阿里云腾讯云之类的云服务器的web终端,都有网页直接下载云服务器文件的功能,你可以点击web终端左上角的文件夹图标,然后,点击文件夹树进入/opt/teslamate 目录,然后直接下载文件。如果提示文件过大,可以压缩文件再下载。
还原
# Stop the teslamate container to avoid write conflicts
docker compose stop teslamate
# Drop existing data and reinitialize
docker compose exec -T database psql -U teslamate << .
drop schema public cascade;
create schema public;
create extension cube;
create extension earthdistance;
CREATE OR REPLACE FUNCTION public.ll_to_earth(float8, float8)
RETURNS public.earth
LANGUAGE SQL
IMMUTABLE STRICT
PARALLEL SAFE
AS 'SELECT public.cube(public.cube(public.cube(public.earth()*cos(radians(\$1))*cos(radians(\$2))),public.earth()*cos(radians(\$1))*sin(radians(\$2))),public.earth()*sin(radians(\$1)))::public.earth';
.
# Restore
docker compose exec -T database psql -U teslamate -d teslamate < teslamate.bck
# Restart the teslamate container
docker compose start teslamate