Solução da comunidade

Instalar o TeslaMate no ZimaOS: atualizar a composição da comunidade de 2025 para as versões atuais do Postgres, Grafana e MQTT, e reforçar a segurança dos tokens

A February 2025 thread where the upstream TeslaMate Compose would not install directly on ZimaOS and a community member adapted the storage paths to /DATA/AppData, used Postgres 17, Grafana, TeslaMate, and disabled MQTT. The original poster thanked them but never returned with a confirmed result.

O ficheiro Compose de origem é útil como exemplo de caminho no ZimaOS, mas nunca foi confirmado pelo autor original e não deve ser considerado a configuração atual do stack do TeslaMate. A documentação Docker mantida do TeslaMate continua a utilizar uma implementação Compose com vários contentores e recomenda explicitamente executar o serviço numa máquina sempre ligada, com estado persistente da base de dados e do Grafana.

As orientações atuais do projeto também dão ênfase à segurança, uma vez que o TeslaMate armazena tokens da API da Tesla. Mantenha o serviço numa rede doméstica de confiança ou coloque o acesso remoto por trás de uma VPN/Tailscale/Cloudflare Tunnel ou de um proxy inverso protegido, em vez de publicar diretamente a WebUI sem proteção.

Verificar os requisitos atuais do TeslaMate

A documentação atual do TeslaMate indica:

  • Docker/Compose;
  • um anfitrião sempre ligado;
  • pelo menos 1 GB de RAM para a instalação, sendo recomendados 2 GB;
  • acesso à Internet para os serviços da Tesla;
  • hardware amd64 ou arm64.

Consulte a instalação Docker atual do TeslaMate.

A configuração de origem moveu corretamente os dados persistentes para /DATA/AppData

O Compose da comunidade armazenava os dados do Postgres, os dados do Grafana e os dados importados em pastas AppData dedicadas do ZimaOS. Esta é uma adaptação adequada à plataforma: o estado dos contentores deve persistir fora do sistema de ficheiros descartável do contentor.

Proteger a base de dados PostgreSQL

A base de dados do TeslaMate contém dados históricos dos veículos e o estado da aplicação. Faça uma cópia de segurança antes de atualizar as imagens ou efetuar alterações importantes no Compose.

Não coloque o diretório de dados ativo do Postgres numa partilha de rede pouco fiável nem o remova ao limpar os contentores.

Utilizar uma ENCRYPTION_KEY forte

O TeslaMate utiliza a chave de encriptação para proteger os tokens da API da Tesla armazenados. O marcador de posição de origem diz “some salt for encryption”; substitua-o por um segredo aleatório forte e mantenha-o fora de capturas de ecrã públicas ou publicações em fóruns.

Utilizar uma palavra-passe de base de dados forte e consistente

A origem indica corretamente que a palavra-passe da base de dados tem de coincidir na configuração do Postgres, do TeslaMate e do Grafana. Uma divergência pode parecer um problema no arranque da aplicação, mesmo quando os próprios contentores estão a funcionar.

A origem desativou o MQTT; a configuração atual do projeto inclui-o no stack padrão

O Compose da comunidade definia DISABLE_MQTT=true. As orientações atuais do TeslaMate para Docker incluem o Mosquitto no exemplo padrão. O MQTT continua a ser opcional, dependendo das integrações, mas os utilizadores atuais devem seguir o stack do projeto de origem de que realmente necessitam, em vez de herdarem automaticamente uma simplificação de 2025.

Proteger também o Grafana

A origem definia o acesso anónimo ao Grafana como verdadeiro. Isto pode ser conveniente numa LAN privada, mas expõe os painéis dos veículos a qualquer pessoa que consiga aceder à porta. Para o acesso remoto, utilize autenticação e uma ligação de rede protegida.

Atualizar deliberadamente todo o stack

Antes de atualizar, faça uma cópia de segurança da base de dados, reveja as notas de versão do TeslaMate, descarregue as novas imagens, recrie o stack e verifique posteriormente a recolha de dados da Tesla e os painéis do Grafana.

Perguntas frequentes sobre o TeslaMate no ZimaOS

O autor original confirmou que o Compose da comunidade funcionava?

Não. Disse que o iria experimentar, mas a discussão não contém qualquer resultado.

Que dados têm de persistir?

No mínimo, a base de dados do TeslaMate/Postgres e o estado do Grafana; proteja também quaisquer dados adicionais importados ou configurados.

O TeslaMate deve ser exposto diretamente à Internet pública?

As orientações atuais do TeslaMate recomendam uma ligação segura, como VPN, Cloudflare Tunnel, Tailscale, ZeroTier ou um proxy inverso protegido.