TeslaMate项目在FreeBSD系统上的手动安装指南
teslamate 项目地址: https://gitcode.com/gh_mirrors/tes/teslamate
前言
TeslaMate是一款开源的Tesla车辆数据记录和分析工具,能够帮助车主详细追踪和可视化车辆的各种运行数据。本文将详细介绍如何在FreeBSD系统上手动安装TeslaMate,适合那些希望不使用Docker容器而直接在FreeBSD环境中部署的用户。
系统要求
在开始安装前,请确保你的FreeBSD系统满足以下最低要求:
基础软件包
- bash shell环境
- jq JSON处理工具
- git版本控制系统
- Node.js (v16或更高版本)
数据库相关
- PostgreSQL (v14或更高版本)
- 初始化完成的PostgreSQL数据库
监控可视化
- Grafana (v8.3.4或更高版本)
- 相关Grafana插件
消息队列
- MQTT服务(如Mosquitto)
开发环境
- Erlang (v21或更高版本)
- Elixir (v1.12或更高版本)
详细安装步骤
1. 安装必备软件包
首先安装所有必需的软件包:
pkg install bash jq git erlang elixir postgresql16-server-16.0 postgresql16-contrib-16.0 grafana9-9.5.7_2 mosquitto node npm-node20-10.2.0
2. 配置PostgreSQL数据库
初始化并启动PostgreSQL服务:
echo postgres_enable="yes" >> /etc/rc.conf
service postgresql initdb
service postgresql start
创建TeslaMate专用的数据库和用户:
psql -U postgres
在psql交互界面中执行:
CREATE DATABASE teslamate;
CREATE USER teslamate WITH ENCRYPTED PASSWORD 'your_secure_password_here';
GRANT ALL PRIVILEGES ON DATABASE teslamate TO teslamate;
ALTER USER teslamate WITH SUPERUSER;
\q
3. 获取TeslaMate源代码
克隆TeslaMate项目并切换到最新稳定版本:
cd /usr/local/src
git clone https://github.com/teslamate-org/teslamate.git
cd teslamate
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
4. 编译Elixir项目
设置并编译TeslaMate项目:
mix local.hex --force
mix local.rebar --force
mix deps.get --only prod
npm install --prefix ./assets && npm run deploy --prefix ./assets
export MIX_ENV=prod
mix do phx.digest, release --overwrite
5. 配置系统服务
创建TeslaMate的FreeBSD服务脚本/usr/local/etc/rc.d/teslamate
:
#!/bin/sh
# PROVIDE: teslamate
# REQUIRE: DAEMON
# KEYWORD: teslamate,tesla
. /etc/rc.subr
name=teslamate
rcvar=teslamate_enable
load_rc_config $name
user=teslamate
group=teslamate
teslamate_enable=${teslamate_enable-"NO"}
pidfile=${teslamate_pidfile-"/var/run/${name}.pid"}
# 环境变量配置
HTTP_BINDING_ADDRESS="0.0.0.0"; export HTTP_BINDING_ADDRESS
HOME="/usr/local/src/teslamate"; export HOME
PORT=${teslamate_port-"4000"}; export PORT
# 其他必要环境变量...
COMMAND=${teslamate_command-"${HOME}/_build/prod/rel/teslamate/bin/teslamate"}
teslamate_start()
{
${COMMAND} eval "TeslaMate.Release.migrate"
${COMMAND} daemon
}
start_cmd="${name}_start"
stop_cmd="${COMMAND} stop"
status_cmd="${COMMAND} pid"
run_rc_command "$1"
设置脚本权限并更新rc.conf:
chmod +x /usr/local/etc/rc.d/teslamate
echo teslamate_enable="YES" >> /etc/rc.conf
# 添加其他必要的配置参数...
service teslamate start
6. 配置Grafana
启动Grafana服务:
echo grafana_enable="yes" >> /etc/rc.conf
service grafana start
访问http://localhost:3000
并使用默认凭证admin:admin
登录。
添加数据源
- 创建名为"TeslaMate"的PostgreSQL数据源
- 配置连接参数:
- 主机:localhost
- 数据库:teslamate
- 用户:teslamate
- 密码:之前设置的密码
- SSL模式:禁用
导入仪表板
使用提供的脚本导入预定义的Grafana仪表板:
cd /usr/local/src/teslamate/grafana
./dashboards.sh restore
或者可以手动导入grafana/dashboards
目录下的JSON文件。
常见问题解决
-
Grafana启动问题:如果Grafana无法通过rc.conf启动,可以尝试通过rc.local启动:
echo "cd /tmp && /usr/local/etc/rc.d/grafana onestart" >> /etc/rc.local
-
数据库连接问题:确保PostgreSQL服务已启动,并且防火墙允许相关端口(默认5432)的连接。
-
时区设置:确保在
/etc/rc.conf
中设置了正确的时区,如America/Los_Angeles
或Europe/Berlin
。
安全建议
- 安装完成后,考虑撤销teslamate数据库用户的SUPERUSER权限。
- 修改Grafana的默认管理员密码。
- 如果通过互联网访问,考虑设置TLS加密。
- 定期备份PostgreSQL数据库。
结语
通过以上步骤,你已经在FreeBSD系统上成功部署了TeslaMate。现在你可以通过Grafana仪表板查看和分析你的Tesla车辆数据。系统重启后,所有服务将自动启动。如需进一步定制,可以参考TeslaMate的官方文档调整配置参数。
teslamate 项目地址: https://gitcode.com/gh_mirrors/tes/teslamate
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考