V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
yekk
V2EX  ›  分享创造

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

  •  
  •   yekk · 4 小时 55 分钟前 · 122 次点击

    用 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

    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2390 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 07:35 · PVG 15:35 · LAX 23:35 · JFK 02:35
    ♥ Do have faith in what you're doing.