Techvoyage
Início
Sincronização segura de cofres do Obsidian entre múltiplos dispositivos usando as ferramentas auto-hospedadas Synch e Ignis no Cloudflare Zero Trust

Sincronizar cofres do Obsidian entre dispositivos

Sincronize cofres do Obsidian entre dispositivos e aceda às notas na web usando Synch e Ignis auto-hospedados com o Cloudflare Zero Trust de forma segura.

Sep 15, 2026 - 15 MIN DE LEITURA
Índice

O Obsidian é uma aplicação de gestão de conhecimento que prioriza o armazenamento local (local-first). Cada nota é um ficheiro markdown no seu dispositivo e permanece inteiramente sob o seu controlo. No entanto, muitas vezes pretendemos ter o mesmo cofre (vault) no portátil, no telemóvel e noutros dispositivos, ou poder aceder-lhe remotamente através de um navegador web.

Existem várias soluções de sincronização disponíveis para o Obsidian, mas todas elas implicam cedências no que toca à gestão de conflitos, encriptação ou soberania dos dados. O Synch é uma aplicação de código aberto que sincroniza o seu cofre do Obsidian com encriptação de ponta a ponta e gestão automática de conflitos num servidor auto-hospedado.

Embora a abordagem local-first do Obsidian funcione perfeitamente na maior parte do tempo, podemos ainda necessitar de aceder ao nosso cofre remotamente através de um navegador web em certas ocasiões. O Ignis é uma aplicação de código aberto que executa o Obsidian dentro de um navegador web num formato muito próximo do nativo, permitindo-lhe ler e editar o seu cofre a partir de qualquer lugar.

Neste guia, iremos configurar o Synch e o Ignis num VPS (Servidor Privado Virtual), alojando-os de forma segura dentro de uma rede privada Cloudflare Zero Trust, em vez de os expor à internet aberta.

Exposição segura do Hermes Agent a uma rede privada usando o túnel Cloudflare Zero Trust e WARP

Guia relacionado

Como expor o Hermes Agent de forma privada com o Cloudflare WARP

Saiba como expor e aceder ao seu Hermes Agent globalmente de forma segura usando o Cloudflare WARP e Zero Trust sem abrir portas de entrada no firewall.

8 MIN DE LEITURA

Sincronização segura de cofres do Obsidian com o Synch

O Synch oferece as seguintes funcionalidades:

  • Sincroniza o seu cofre assim que são detetadas alterações
  • Encripta os dados do cofre antes do carregamento
  • Permite a restauração a partir do histórico de versões
  • Inclui gestão automática de conflitos

O Synch gera uma chave de cofre aleatória de 32 bytes no seu dispositivo, que é utilizada para encriptar os dados do cofre. Quando cria um cofre remoto, escolhe uma palavra-passe do cofre; esta palavra-passe é utilizada para proteger a chave de cofre, permitindo que esta seja armazenada de forma segura no servidor e desbloqueada noutros dispositivos.

Note que a resolução de conflitos é gerida nos seus dispositivos de cliente e não no servidor. Se dois dispositivos editarem a mesma nota simultaneamente, o servidor mantém a versão que chegar primeiro e marca o outro dispositivo como desatualizado. O dispositivo desatualizado junta automaticamente a versão mais recente com as suas alterações locais antes de enviar a nota final combinada.

Configurar o Synch no seu VPS

Criar um nome de domínio

Crie um registo A no Cloudflare e defina o estado do proxy para Apenas DNS (ignorando o CDN do Cloudflare).

Instalar o Synch com Docker no Ubuntu

Clonar o repositório
git clone https://github.com/hjinco/synch.git       
        
# Navegar para a pasta da API
cd synch/apps/api
        
# Copiar o ficheiro de ambiente de exemplo:
cp .env.example .env
Editar os valores do .env
  • PUBLIC_URL=synch.pafor.me: Introduza o nome de domínio público do seu servidor Synch (o nome de domínio criado no passo anterior).
  • BETTER_AUTH_SECRET e SYNC_TOKEN_SECRET: Gere chaves seguras utilizando esta ferramenta online de chaves secretas ou executando openssl rand -hex 32 duas vezes no seu terminal.
  • AUTH_ALLOWED_EMAILS: Uma lista separada por vírgulas dos endereços de e-mail autorizados a registar-se e criar contas.
Adicionar o domínio ao Caddyfile

Os detalhes sobre como o módulo DNS do Cloudflare é integrado com o Caddy e iniciado num contentor podem ser consultados no nosso artigo sobre a auto-hospedagem do Buzz.

Configuração do Caddy com token de API do Cloudflare DNS para geração automática de certificados SSL/TLS num espaço de trabalho auto-hospedado

Guia de auto-hospedagem

Como auto-hospedar o Buzz do Block: Espaço para agentes de IA

Saiba como configurar o Caddy para fornecer automaticamente certificados SSL/TLS utilizando desafios DNS do Cloudflare em contentores Docker.

12 MIN DE LEITURA

Inclua a diretiva SYNCH_DOMAIN no seu Caddyfile, apontando para a porta 8787 (a porta utilizada pelo contentor do Synch):

{
  acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN}
}

{$SYNCH_DOMAIN} {
  encode zstd gzip
  reverse_proxy host.docker.internal:8787
}

Inicie o contentor:

docker compose up -d

Execute o seguinte comando curl para verificar a sua disponibilidade:

curl https://synch.pafor.me/health

Ligar o Obsidian ao seu servidor Synch

Instalar o plug-in Synch no Obsidian

Abra as Definições do Obsidian, navegue para Community plugins (Plug-ins da comunidade) e clique no botão 'Browse' (Procurar):

Procure e instale 'Synchrun':

Assim que o 'Synchrun' estiver instalado, abra as definições do plug-in e ative 'Use a self-hosted server' (Utilizar um servidor auto-hospedado). Em seguida, introduza https://synch.pafor.me no campo 'Server URL' (URL do Servidor) e clique em 'Save' (Guardar).

Clique no botão 'Sign in on this device' (Iniciar sessão neste dispositivo) sob 'Account' (Conta). A seguir, registe-se para obter uma conta utilizando o endereço de e-mail especificado na sua lista AUTH_ALLOWED_EMAILS; será então redirecionado para a seguinte página de autorização:

Clique no botão 'Allow Obsidian sign-in' (Permitir início de sessão no Obsidian):

Clique no botão 'Return to Obsidian' (Voltar ao Obsidian) e, em seguida, clique em 'Create vault' (Criar cofre):

Introduza um nome e uma palavra-passe segura para criar o seu cofre remoto.

O processo de sincronização será iniciado de imediato e poderá demorar algum tempo, dependendo do tamanho do seu cofre. Uma vez concluído, será exibida a sua utilização total de armazenamento.

Acesso ao Obsidian no navegador com o Ignis

O Ignis substitui as APIs Electron do Obsidian por APIs Web, o que permite que o código JavaScript do Obsidian seja executado diretamente num navegador web normal. Todos os seus ficheiros markdown e anexos são guardados diretamente no sistema de ficheiros do servidor anfitrião.

Contudo, existem algumas limitações em comparação com a aplicação nativa de ambiente de trabalho do Obsidian. Algumas funcionalidades ou plug-ins que requerem APIs do Electron ou Node.js (que não têm equivalente direto num ambiente de navegador) não irão funcionar. Consulte os guias de Limitações e de Compatibilidade de plug-ins do Ignis para obter listagens detalhadas de compatibilidade.

Configuração do Ignis

Iremos instalar o Ignis no nosso VPS utilizando o Docker, montando-o na pasta local ./vaults. Este diretório do cofre será sincronizado utilizando a Synch CLI para descarregar as atualizações das notas a partir do cofre remoto que configurámos anteriormente.

Como o Ignis não possui autenticação integrada, deve ser protegido por trás de uma rede privada Cloudflare Zero Trust.

Criar registo DNS

Adicionar o domínio ao Caddyfile

Adicione obsidian.pafor.me ao seu Caddyfile da mesma forma que synch.pafor.me:

{$OBSIDIAN_DOMAIN} {
  encode zstd gzip
  reverse_proxy host.docker.internal:9898
}

Iniciar o Ignis utilizando o Docker

Guarde o seguinte ficheiro docker compose yml como ignis-docker-compose.yml no VPS:

services:
  ignis:
    image: nobbe/ignis:latest
    ports:
      - "9898:8080"
    environment:
      # coincidir com o utilizador do seu host (executar: id)
      - PUID=1000
      - PGID=1000
      - WS_ORIGINS=https://obsidian.pafor.me
    volumes:
      - ./vaults:/vaults
      - ./data:/app/data
      - obsidian-app:/app/obsidian-app
    restart: unless-stopped

volumes:
  obsidian-app:
  • Utilize a porta 9898 no host, visto que a 8080 é habitualmente utilizada por outros serviços.
  • Execute o comando id no seu VPS para verificar o UID e o GID do utilizador do seu host para garantir as permissões corretas do sistema de ficheiros.
  • Defina WS_ORIGINS para permitir apenas ligações WebSocket originárias do seu nome de domínio específico.

Inicie o Docker do Ignis:

docker compose -f ignis-docker-compose.yml up -d

Ao aceder ao seu domínio num navegador web, surgirá o 'Vault Manager' (Gestor de Cofres). Estará vazio, uma vez que ainda não configurou nenhum cofre. Iremos configurar a 'Synch CLI' na próxima secção para sincronizar os conteúdos do nosso cofre remoto.

Questão de Firewall

Por predefinição, o Docker insere automaticamente as suas próprias regras DNAT e FORWARD, que encaminham o tráfego público diretamente para os contentores ativos. Isto contorna a cadeia INPUT padrão do Ubuntu UFW/iptables. Para bloquear o tráfego público externo e manter os contentores privados, adicione manualmente as seguintes regras ao iptables:

# Bloquear todo o tráfego público externo
sudo iptables -I DOCKER-USER -i ext_if -j DROP 

# Permitir tráfego apenas do IP privado do seu cliente Cloudflare WARP
sudo iptables -I DOCKER-USER -i ext_if -s 100.96.0.10 -j ACCEPT

Configuração da Synch CLI

A Synch CLI é uma ferramenta sem interface gráfica (headless) que permite sincronizar o diretório de um cofre do Obsidian diretamente em servidores remotos, sem exigir a instalação da aplicação de ambiente de trabalho completa.

Compile a Synch CLI a partir do seu repositório synch clonado. A compilação requer o Node.js >= 22.5 (pois a CLI depende do node:sqlite e de APIs globais do navegador como fetch, WebSocket e WebCrypto) e o pnpm (dado que o repositório está estruturado como um espaço de trabalho de pnpm utilizando a versão 10.33.0):

# Verificar versões
node --version   # deve ser >= 22.5
pnpm --version

# Na raiz do repositório
pnpm install

# Compilar o pacote da CLI
pnpm -C apps/cli build

# Após uma compilação bem-sucedida, terá o ficheiro `apps/cli/dist/synch.js`. Torne-o executável e coloque-o no seu PATH
chmod +x apps/cli/dist/synch.js
ln -sf "$PWD/apps/cli/dist/synch.js" "$HOME/.local/bin/synch"

# Verificação
synch --help

Visto que a Synch CLI é executada no mesmo VPS que o seu cofre remoto do Synch, esta pode ligar-se diretamente ao servidor local da API. Se estiver a configurar um servidor diferente, execute synch login --api-url <url-da-api-synch-remota> para definir o seu endpoint de destino da API.

Execute synch login no seu terminal e receberá um URL de autenticação:

Inicie sessão através da página web utilizando o mesmo endereço de e-mail registado com o plug-in Synchrun do seu Obsidian desktop.

Execute synch vault connect --vault ~/vaults/<nome_do_cofre> --vault-id asadqe-7b29-4677-fsad-234asdafasd para ligar o seu diretório de cofre local no VPS ao cofre remoto.

O ID do cofre remoto pode ser encontrado nas definições do plug-in Synchrun, clicando em 'Manage remote vaults' (Gerir cofres remotos). Isto irá exibir uma página web com a lista dos seus cofres remotos, cada um identificado por um GUID exclusivo (por exemplo, 123e4567-e89b-12d3-a456-426614174000):

Introduza a palavra-passe do seu cofre quando solicitado para estabelecer a ligação. Assim que estiver ligado, execute synch sync --vault ~/vaults/<nome-do-cofre> para efetuar a sua sincronização inicial. Esta primeira execução poderá demorar algum tempo, dependendo do tamanho do seu cofre.

Para automatizar este processo, configure e ative um serviço systemd para executar o synch watch continuamente, garantindo que as alterações sejam sincronizadas instantaneamente no arranque:

sudo tee /etc/systemd/system/synch-watch.service <<'EOF'
[Unit]
Description=Synch vault watcher
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=<username>
ExecStart=/home/<username>/.local/bin/synch watch --vault /home/<username>/vaults/<vault-name>
WorkingDirectory=/home/<username>/vaults
Environment="PATH=/home/<username>/.local/bin:/home/<username>/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Environment="HOME=/home/<username>"
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now synch-watch.service

Abra obsidian.pafor.me no seu navegador web. Irá constatar que a interface do utilizador e o layout são praticamente idênticos aos da aplicação de ambiente de trabalho:

Clicar no ícone de definições revela que quase todas as configurações essenciais se mantêm intactas, embora seja necessário reinstalar os seus plug-ins da comunidade:

Para testar a configuração, pode adicionar uma nova nota através da interface web:

A nota é sincronizada imediatamente de volta para a sua aplicação de ambiente de trabalho do Obsidian. Note que as pastas vazias não aparecem no Ignis.

Visualizar o obsidian.pafor.me num navegador web móvel:

Quando elimina uma nota no Ignis, esta é movida em segurança para a pasta ~/vaults/<nome-do-cofre>/.trash do seu cofre local.

Considerações finais sobre cofres auto-hospedados

Juntos, o Synch e o Ignis disponibilizam o seu cofre principal do Obsidian de forma fluida em todos os seus dispositivos, inteiramente alojado numa infraestrutura sob o seu controlo direto. Posicionar estes serviços no interior de uma rede privada Cloudflare Zero Trust garante que as suas notas pessoais fiquem completamente protegidas da internet pública.

O Ignis não se destina a substituir na totalidade a aplicação nativa de ambiente de trabalho do Obsidian. Em vez disso, atua como um cliente web leve e temporário para aceder e editar o seu cofre quando se encontra afastado do seu computador principal. Para a escrita diária e gestão detalhada do cofre, a aplicação nativa do Obsidian continua a ser a escolha mais confortável.

Como o Synch utiliza encriptação de ponta a ponta, a palavra-passe do seu cofre remoto tem de ser extremamente segura para proteger contra ataques de adivinhação por força bruta. É crítico que nunca perca esta palavra-passe — o servidor não armazena a chave de cofre desencriptada e, se a esquecer, os seus dados serão totalmente irrecuperáveis. Adicionalmente, certifique-se de que a sua instância de VPS, a par de quaisquer instantâneos ou cópias de segurança automatizadas, é devidamente mantida e mantida em segurança.

Embora o histórico de versões encriptado do Synch e as ferramentas de recuperação de ficheiros eliminados previnam a maioria das perdas acidentais, a manutenção de uma cópia de segurança independente e separada do seu cofre do Obsidian continua a ser fortemente recomendada.

Referências

Artigos relacionados