最近发现以前安装的TeslaMate数据不更新了,不知道什么原因,故打算重新安装
首先备份老版本的数据
进入/opt/teslamate目录
创建备份文件:teslamate.bck
docker-compose exec -T database pg_dump -U teslamate teslamate > ./teslamate.bck
备份完成后重装系统,Ubuntu20.04
根据TeslaMate中文版一键安装 | TeslaMate中的教程一步一步安装完成
然后安装Docker Compose
apt install docker-compose
接下来是配置域名SSL的教程,也是我踩大坑的地方,如果仅使用 http 3000/4000端口进行使用的话就不用看了
首先编辑/opt/teslamate/docker-compose.yml文件
参考教程网站中的SSL配置方法,将示例中的teslamate分支下的labels复制到服务端中的配置文件中

之后将示例配置中grafana分支下environment中的三条反代规则复制增加到服务器配置文件中,将labels复制到服务器配置文件中grafana分支下

最后将示例配置文件中的proxy分支替换掉服务器配置文件中的web分支

编辑完成之后保存覆盖
在opt/teslamate下新建.env文件,信息根据实际情况填入即可
TM_ENCRYPTION_KEY= #your secure key to encrypt your Tesla API tokens TM_DB_USER=teslamate TM_DB_PASS= #your secure password! TM_DB_NAME=teslamate GRAFANA_USER=admin GRAFANA_PW=admin FQDN_TM=teslamate.example.com TM_TZ=Europe/Berlin LETSENCRYPT_EMAIL=yourperson@example.com
服务器运行以下指令重启容器,报错忽略:
docker-compose down docker-compose up -d

重启完成后等Traefik申请完证书,大概几分钟,然后进入https://yourdomain 默认用户名密码admin 将获取的特斯拉令牌数据填入后提交
进入设置页面,最底下的域名填写
https://yourdomain
https://yourdomain/grafana

修改完之后点击空白的地方会自动保存,修改完成之后刷新网页,点击上方控制台随便选一个项目进去
Grafana面板默认用户名密码admin,登录后会让你修改默认密码
进入面板后可能会报数据库错误(密码错误认证失败导致无法连接数据库),我也不清楚是什么毛病
解决方法:
菜单栏找到数据源,点击TeslaMate

数据库密码配置栏重设密码,填入配置文件中的密码

最后拉到最底下测试保存即可连接成功

然后恢复老版本的数据,如果是新装则不用看
将之前的备份文件上传到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
等待恢复完成即可
最后祝大家出行一路平安