O Syncthing tem um hábito irritante: dois dispositivos só sincronizam enquanto os dois estão online. O notebook está em repouso, o celular está no bolso nos dados móveis, o computador de casa está desligado, e os arquivos esperam o momento em que dois deles estejam acordados ao mesmo tempo. Um par online o tempo todo resolve isso. Tudo sincroniza pelo servidor, sempre que cada dispositivo aparecer.
A objeção de sempre é «aí meus arquivos ficam num VPS». O Syncthing também tem resposta para isso: compartilhe uma pasta com o servidor como dispositivo não confiável e ele guardará só dados cifrados que não consegue ler.
Qual plano
O Syncthing em si é minúsculo: uns 25–30 MB de RAM no nosso teste. O que você está comprando de verdade é disco, porque o servidor guarda uma cópia completa de cada pasta compartilhada com ele.
| O que você sincroniza | Plano |
|---|---|
| Documentos, notas, configurações, um arquivo de banco de senhas | Nano-IP: 2 vCPU, 1 GB, 15 GB ($8/mês) |
| Anos de documentos e algumas fotos | Micro-IP: 2 vCPU, 2 GB, 25 GB ($10/mês) |
| Pastas de trabalho e arquivos maiores | Small-IP: 4 vCPU, 4 GB, 35 GB ($16/mês) |
| Uma biblioteca de fotos | Pro-32: 400 GB ($40/mês), sob consulta |
Escolha um plano com IPv4 próprio. Seus dispositivos precisam alcançar o servidor na porta 22000; num plano NAT só o SSH passa, e o Syncthing recorre a relays públicos, mais lentos e numa infraestrutura que você não controla. Escolha Alemanha ou Finlândia, o que estiver mais perto de você e disponível na hora do pedido. O servidor pode ser pago em cripto, sem KYC.
Instalação
Como root no Ubuntu 24.04 ou Debian 12, pelo repositório oficial do Syncthing (canal estável v2):
mkdir -p /etc/apt/keyrings
curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable-v2" > /etc/apt/sources.list.d/syncthing.list
apt update && apt install -y syncthing
Rode com um usuário próprio sob o systemd:
useradd -m -s /bin/bash syncthing
systemctl enable --now syncthing@syncthing
ufw allow 22/tcp && ufw allow 22000/tcp && ufw allow 22000/udp && ufw enable
Não chame o usuário de sync. Esse nome já pertence a uma conta de sistema com /bin como diretório pessoal, e o syncthing@sync falha com um erro de sistema de arquivos somente leitura; a gente mesmo tropeçou nisso.
Pegue o ID de dispositivo do servidor; você vai colá-lo nos outros dispositivos:
runuser -u syncthing -- syncthing device-id
A interface web escuta só em 127.0.0.1:8384, e é isso mesmo que você quer. Acesse por um túnel SSH a partir do seu computador:
ssh -L 8384:127.0.0.1:8384 root@YOUR_SERVER_IP
Abra http://127.0.0.1:8384 e, antes de qualquer coisa, defina uma senha em Settings → GUI.
Compartilhe uma pasta sem que o servidor consiga lê-la
No notebook (ou em qualquer dispositivo confiável):
- Adicione o servidor como dispositivo remoto pelo ID.
- Abra a pasta que você quer sincronizar → Sharing, marque o servidor e digite ao lado uma senha de criptografia. Guarde essa senha no seu gerenciador de senhas: sem ela, os dados no servidor são só ruído.
- Na interface web do servidor, aceite a pasta e escolha o tipo Receive Encrypted.
Pronto. Veja o que de fato chegou ao servidor:
find /home/syncthing -path '*syncthing-enc*' -type f | head
Você verá caminhos como …/I.syncthing-enc/C8/PICA7BFKFPSGQ06C4D4SQ50GB6E151QUNF1EOBK no lugar dos nomes dos seus arquivos. No nosso teste procuramos no servidor uma frase do arquivo sincronizado: nada.
Seus outros dispositivos compartilham a mesma pasta normalmente entre si, e com o servidor usando a mesma senha de criptografia. Qualquer dispositivo confiável que saiba a senha pode sincronizar a partir do servidor, inclusive um notebook novo depois que o antigo morrer.
A parte honesta
- Sincronizar não é fazer backup. Exclusões e sobrescritas acidentais também sincronizam. Ative o versionamento num dispositivo confiável ou mantenha um backup separado em outro lugar.
- A criptografia esconde conteúdo e nomes, não tudo. Tamanhos de arquivo e quando as coisas mudam ainda podem ser deduzidos no servidor. Para a maioria das pessoas é uma boa troca; se para você não for, esta configuração não é para você.
- A senha é a chave. Perca-a e a cópia cifrada no servidor não serve para nada. Essa é a ideia, e também o risco.
- Celulares. Não existe mais app móvel oficial: o Android tem um mantido pela comunidade, o iOS só clientes de terceiros. Confira o seu antes de contar com ele.
Se você quer uma interface web completa com calendários, contatos e links de compartilhamento em vez de uma sincronização silenciosa em segundo plano, veja o Nextcloud. Se só quer que seus arquivos estejam em todo lugar e legíveis apenas nos seus próprios dispositivos, esta é a ferramenta mais leve.
Relacionados
- Nextcloud auto-hospedado num VPS: uma nuvem privada completa com interface web
- VPS para Vaultwarden: senhas no seu próprio servidor
- VPS para armazenamento cifrado: LUKS, e o que a criptografia num servidor pode e não pode fazer
- Como configurar autenticação por chave SSH
- Como configurar um firewall ufw
Comentários
Nenhum comentário ainda. Seja o primeiro.