
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.
Í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.


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 LEITURASincronizaçã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_SECRETeSYNC_TOKEN_SECRET: Gere chaves seguras utilizando esta ferramenta online de chaves secretas ou executandoopenssl rand -hex 32duas 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.

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 LEITURAInclua 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
9898no host, visto que a8080é habitualmente utilizada por outros serviços. - Execute o comando
idno seu VPS para verificar oUIDe oGIDdo utilizador do seu host para garantir as permissões corretas do sistema de ficheiros. - Defina
WS_ORIGINSpara 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

IA e Agentes
Expor o Hermes Agent em rede privada com Cloudflare WARP
Aprenda a expor e acessar globalmente seu Hermes Agent de forma segura com o Cloudflare WARP e o Zero Trust, sem abrir portas de entrada em seu firewall.
9 MIN DE LEITURA
Cloudflare
Criar sistema persistente de memória de IA na Cloudflare
Aprenda a criar um sistema de memória de IA persistente e auto-hospedado na Cloudflare com Second Brain e MCP. Partilhe o contexto entre Claude e Obsidian.
9 MIN DE LEITURA
Segurança
Alternar entre múltiplos perfis do Cloudflare WARP no macOS
Configure e alterne entre múltiplas organizações do Cloudflare WARP no macOS com um arquivo .mobileconfig. Guia MDM completo para administradores de TI.
4 MIN DE LEITURA
Anterior
Como auto-hospedar o Buzz do Block: Espaço para agentes de IA
Aprenda a auto-hospedar o relay Buzz da Block em um VPS Linux com Cloudflare. Crie um espaço de trabalho seguro baseado em Nostr para humanos e agentes IA.

Próximo
Expor o Hermes Agent em rede privada com Cloudflare WARP
Aprenda a expor e acessar globalmente seu Hermes Agent de forma segura com o Cloudflare WARP e o Zero Trust, sem abrir portas de entrada em seu firewall.