首页 Docker 正文

【Docker】TeslaMate云服务器安装教程

方雪墨头像 方雪墨 Docker 2024-06-12 21:06:53 0 465

最近发现以前安装的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

等待恢复完成即可

最后祝大家出行一路平安

本文地址:https://blog.treecyan.com/?id=7
若非特殊说明,文章均属本站原创,转载请注明原链接。

欢迎 发表评论:

网站分类

标签列表

退出请按Esc键