GoForum🌐 V2EX

之前打算部署 teslamate,现在可以试试, 写了套脚本部署 NAS GUI 的容器化工具也加了教程,备份恢复升级写了个脚本处理

yekk · 2026-02-14 10:42 · 0 次点赞 · 0 条回复

用 TeslaMate 记录车辆数据的应该不少,但日常维护(备份、恢复、升级)每次都要翻文档找命令,挺烦。我把这些操作封装成了一套脚本,顺便也做了个部署引导页面,这里分享一下。

先说部署

做了个交互式引导页面,不管你是全新安装还是已有 TeslaMate 要加 API 服务,NAS 还是命令行,都有对应的流程。密钥密码页面上自动生成,复制就行,不用自己 openssl rand 。

https://cn.mytess.net/zh/deploy

命令行用户也可以直接一行搞定:

# 全新安装
curl -fsSL https://cn.mytess.net/scripts/install-teslamate.sh -o install.sh && bash install.sh

# 已有 TeslaMate ,加 API 服务
curl -fsSL https://cn.mytess.net/scripts/add-teslamateapi.sh -o add-api.sh && bash add-api.sh

第二个脚本会自动读你现有容器的环境变量,备份 compose 文件,插入 API 服务,改完给你看 diff 。不放心的话选 N 它会回滚,把要加的内容打印出来你自己加。

说一下 mytesla/teslamateapi:基于 tobiasehlert/teslamateapi 构建,只读数据库和 MQTT ,不改任何数据,没有外部数据传输。就是在 TeslaMate 和客户端之间加了一个 HTTP API 层。

维护脚本 mytess-tool.sh

这个是主要想分享的。五个命令:

# 备份
curl -fsSL https://cn.mytess.net/scripts/mytess-tool.sh | bash -s -- backup

# 恢复(破坏性操作,会替换所有数据)
curl -fsSL https://cn.mytess.net/scripts/mytess-tool.sh | bash -s -- restore your_backup.bck

# 升级 API (只动 API 容器,不影响 TeslaMate 和数据库)
curl -fsSL https://cn.mytess.net/scripts/mytess-tool.sh | bash -s -- upgrade-api

# 重启所有服务
curl -fsSL https://cn.mytess.net/scripts/mytess-tool.sh | bash -s -- restart

# 收集诊断信息(容器状态、资源占用、API 日志,不含密码)
curl -fsSL https://cn.mytess.net/scripts/mytess-tool.sh | bash -s -- diagnose

脚本会自动找到你的 TeslaMate 容器和 compose 文件,不需要手动指定路径。查找逻辑做了多层 fallback:先按镜像名找,再按容器名模糊匹配; compose 文件先读 Docker label ,再扫常见目录,都找不到让你手动输入。基本上不管你怎么部署的都能适配。

脚本支持中英文,根据系统语言自动判断。

备份相关多说两句

备份本质就是 pg_dump,手动跑也行:

docker compose exec -T database pg_dump -U teslamate teslamate > teslamate_$(date +%Y%m%d).bck

但有个坑一定要注意:备份文件一定要拷到别的地方。部分 NAS 的 Docker 管理界面更新容器配置时会清空整个项目文件夹,备份文件放在里面会一起没掉。

升级 API 的时候,如果你 compose 里写了固定版本号而不是 latest,脚本会自动查最新版本并更新 tag ,改之前备份 compose 文件。


文档: https://cn.mytess.net/docs/faq

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: yekk
发布: 2026-02-14
点赞: 0
回复: 0