Se o Matrix Synapse no CasaOS indicar «o contentor não está saudável», comece pelos registos do contentor e pelo homeserver.yaml gerado, em vez de reinstalar sem verificar o problema. O Synapse tem uma imagem Docker oficial, mas um homeserver de produção também precisa de configuração e dados persistentes, de um nome de servidor adequado, de PostgreSQL e de planeamento para HTTPS/federação.
O SQLite é aceitável para testes, mas a documentação atual do Synapse recomenda PostgreSQL para quase todas as instalações reais. Um contentor pode arrancar e, ainda assim, não estar saudável se a configuração, a base de dados, as permissões ou a migração de arranque falharem.
Utilize a imagem oficial do Synapse
O atual guia de instalação do Synapse indica ghcr.io/element-hq/synapse como imagem oficial de contentor.
Gere a configuração inicial
Crie um diretório persistente e gere a configuração uma vez antes do arranque normal:
mkdir -p /DATA/AppData/synapse
docker run --rm -it -v /DATA/AppData/synapse:/data -e SYNAPSE_SERVER_NAME=matrix.example.com -e SYNAPSE_REPORT_STATS=no ghcr.io/element-hq/synapse:latest generate
Substitua o domínio de exemplo pelo nome do servidor Matrix que pretende manter.
Verifique por que motivo o contentor não está saudável
docker ps -a | grep synapse
docker inspect synapse --format '{{json .State.Health}}'
docker logs --tail 200 synapse
Procure erros de YAML, ficheiros em falta, falhas de permissões, erros de ligação à base de dados ou migrações que nunca são concluídas.
Utilize PostgreSQL em produção
O atual guia do PostgreSQL para o Synapse explica a configuração de base de dados suportada. Mantenha os dados do Postgres persistentes e faça cópias de segurança juntamente com o estado do Synapse.
Não altere o server_name mais tarde sem planeamento
Os seus IDs do Matrix são derivados do nome do servidor, como @user:example.com. Escolha o domínio definitivo antes de convidar utilizadores.
O HTTPS é necessário para uma utilização prática
O Synapse é normalmente escutado internamente por HTTP (geralmente na porta 8008). Use um proxy inverso com HTTPS para clientes e federação, em vez de expor publicamente a porta em bruto do contentor.
A federação implica mais requisitos de DNS e de proxy
Se quiser comunicar com outros servidores Matrix, configure corretamente o nome público do servidor, o HTTPS e a descoberta de federação. Um teste apenas local pode ser muito mais simples.
Faça cópias de segurança de mais do que o contentor
Preserve o homeserver.yaml, as chaves de assinatura, os ficheiros multimédia carregados e a base de dados PostgreSQL. Voltar a obter a imagem não restaura a identidade do servidor doméstico.
O guia de resolução de problemas do Docker apresenta o modelo geral de depuração de contentores.
Verifique a propriedade dos ficheiros na pasta de dados persistentes
Se o registo do contentor indicar «permissão negada» ao ler homeserver.yaml, as chaves de assinatura ou os ficheiros multimédia, corrija a propriedade do diretório de dados do Synapse associado, de acordo com o UID/GID esperado pela imagem. Evite tornar toda a árvore de dados do CasaOS gravável por todos.
Aguarde pelas migrações da base de dados antes de avaliar o estado de saúde
Após uma atualização ou a primeira ligação ao PostgreSQL, o Synapse poderá precisar de algum tempo para executar as migrações do esquema. Acompanhe os registos em vez de reiniciar o contentor repetidamente, pois as migrações interrompidas podem dificultar o diagnóstico.
Teste a API local antes do proxy inverso
Confirme que o endpoint HTTP interno do Synapse responde a partir do anfitrião CasaOS antes de adicionar HTTPS, DNS ou federação. Se a API local não estiver saudável, um proxy inverso não consegue resolver o problema.
Perguntas frequentes
Porque é que o Synapse não está saudável?
Consulte os registos e o estado de saúde para verificar erros de configuração, permissões, base de dados ou migração; o tópico original não indicava uma causa única comprovada.
Posso usar SQLite?
Para testes, sim. A documentação atual do Synapse recomenda PostgreSQL para quase todas as instalações de produção.
Que porta usa o Synapse internamente?
As configurações Docker mais comuns expõem a API do cliente/servidor na porta 8008, por trás de um proxy inverso.
Preciso do Element?
Não. O Synapse é o servidor doméstico; o Element é um possível cliente/interface web.



