1 pontos por GN⁺ 2025-03-03 | 1 comentários | Compartilhar no WhatsApp
  • Configurando um servidor Firefox Sync auto-hospedado

    • Depois de mudar do Firefox para o LibreWolf, surgiu o interesse em um servidor Firefox Sync auto-hospedado.
    • No começo, foi encontrado o repositório Sync Server da Mozilla, mas ele estava sem manutenção.
    • Foi decidido seguir com o syncstorage-rs, baseado em Rust.
  • A complexidade e a confusão do Docker

    • A documentação do Docker tinha partes confusas, como problemas de compatibilidade de versão entre grpcio e protobuf e instruções de cópia manual.
    • Foi encontrado o repositório syncstorage-rs-docker, que oferecia uma configuração Docker mais simples.
  • Configuração do servidor: Docker Compose e MariaDB

    • Os serviços necessários foram adicionados ao arquivo docker-compose.yaml.
    • Ao definir a senha do banco de dados, é importante evitar caracteres especiais.
    • O contêiner MariaDB foi executado e o script de inicialização foi rodado para inicializar o banco de dados.
    • Toda a stack foi colocada no ar.
  • Configuração de reverse proxy com Caddy

    • O reverse proxy do Caddy foi atualizado para apontar para o novo Syncserver.
    • A entrada DNS foi atualizada e o proxy reiniciado para colocar o servidor em funcionamento.
  • Desafios enfrentados

    • Houve problemas de persistência de dados ao reiniciar o contêiner MariaDB.
    • Surgiram problemas de falta de espaço no servidor por causa de imagens Docker e arquivos intermediários.
    • Levaram tempo para encontrar as etapas corretas de configuração.
  • Considerações finais

    • Configurar um servidor Firefox Sync auto-hospedado não é uma tarefa simples.
    • A documentação oficial era confusa, mas o repositório syncstorage-rs-docker tornou isso possível.
    • Levou cerca de 2 horas, mas valeu a pena.

1 comentários

 
GN⁺ 2025-03-03
Comentários do Hacker News
  • É uma configuração que usa a infraestrutura da Mozilla para oferecer suporte a serviços como autenticação, e-mail e metadados de conta
  • Se a migração de conta for possível, isso poderá ser conectado depois, e também é possível hospedar todos os componentes por conta própria, embora seja um pouco mais complexo
    • A documentação e a experiência de desenvolvimento estão melhorando
  • O Garuda Linux hospeda seu próprio servidor Firefox Sync para o navegador FireDragon
    • Está usando uma versão mais antiga do servidor de sync, não baseada em Rust
  • Compartilhando experiência pessoal, menciona que a versão anterior escrita em Python 2 era muito melhor
    • Não exige Docker nem Python, mas atualmente requer MySQL, e há um voluntário trabalhando no suporte a sqlite
    • Os principais contribuidores estão focados em escrever a justificativa para a coleta de métricas e em introduzir um novo framework de métricas
  • Canvas Browser Extensions tem como objetivo sincronizar abas do navegador com uma árvore de diretórios virtual auto-hospedada
    • Usa índices lmdb e roaring bitmap, e olhando para trás, diz que deveria ter usado rxdb ou pouchdb
    • O componente de servidor está sendo reescrito, e com as novas ferramentas, o maior fator limitante da ideia passou a ser o tempo
  • Confia na Mozilla para guardar os dados, mas como a configuração de autenticação é complexa, pode ser melhor usar um serviço de hospedagem pública
  • Floccus, semelhante ao Firefox Sync, é mais simples de configurar se você só precisa de sincronização de favoritos e abas
  • MySQL e Spanner são os mecanismos de banco de dados atualmente suportados, e há esforços em andamento para oferecer suporte a sqlite e Postgres
    • Para instâncias com múltiplos usuários, pode ser melhor armazenar usando Postgres
  • Pergunta qual é a vantagem de privacidade, já que o Firefox Sync usa criptografia E2E
  • A solução de auto-hospedagem parece complexa demais, e uma implementação simples de servidor de sincronização usando SQLite seria o ideal
  • go-syncstorage não foi totalmente implantado, mas foi testado com várias centenas de milhares de usuários e é estável