Tura Notes
Sincronizar entre máquinas, no seu servidor
O aplicativo funciona numa máquina só, sem servidor nenhum — esse é o caso normal. Quando você quer as mesmas notas no notebook e no desktop, o Tura sincroniza através de um servidor que é seu: não há conta aqui, não há nuvem nossa e não há ninguém no meio.
O servidor guarda as notas do mesmo jeito que o aplicativo guarda: arquivos .md em pastas comuns, numa máquina que você controla. Nada vira formato proprietário por estar sincronizando.
Não há criptografia ponta a ponta
O servidor lê as próprias notas. Quem tiver acesso ao sistema de arquivos dele tem as suas notas, e quem levar a máquina também. Isso é um limite declarado do projeto, não uma falha a contornar — não coloque notas num servidor em que você não confiaria com as notas.
E sincronizar não é backup. Ele copia os seus erros para a outra máquina com pontualidade e exatidão. Faça backup da árvore de dados do servidor à parte, com ele parado.
O que subir no servidor
Você precisa de uma máquina Linux ligada na hora de sincronizar, um nome de DNS apontando para ela e as portas 80 e 443 alcançáveis. Com docker compose são três comandos, e o certificado é obtido sozinho.
git clone https://github.com/samirhvbr/tura-notes.git
cd tura-notes
export NOTES_DOMAIN=notes.exemplo.com
docker compose -f server/compose.yml up -d --build
Depois disso falta criar o workspace, criar uma credencial para cada aparelho e levar o arquivo da credencial até ele por um meio em que você confie. A credencial é um segredo ao portador: quem lê é o aparelho.
Parear o aplicativo
Feche a pasta de trabalho, abra a faixa Sincronização entre dispositivos no topo da janela e preencha o endereço do servidor, o workspace, o arquivo de credencial e o modo. O modo é a parte que importa acertar, porque ele diz o que os dois lados já têm.
| Modo | Quando escolher |
|---|---|
| Enviar pasta local para inbox vazio | O primeiro aparelho. Suas notas sobem, e o inbox daquele workspace no servidor precisa estar vazio. |
| Receber em pasta local vazia | Um segundo aparelho sem nada a preservar. Aponte para uma pasta vazia. |
| Reconciliar pastas existentes | Os dois lados já têm notas. Você recebe uma prévia do que seria enviado, recebido, vinculado por já ser igual ou marcado como conflito — e nada acontece até você confirmar. |
O transporte move revisões; escrever os arquivos recebidos dentro da sua pasta é um passo separado e explícito, com a pasta de trabalho fechada. Nada aparece embaixo de você enquanto digita, e é por isso que os dois são separados.
Uma credencial por aparelho
Dois aparelhos com a mesma credencial não se distinguem, e aí revogar o que você perdeu corta o que você manteve. Perdeu um aparelho? Revogue a credencial dele — vale na hora, sem reiniciar nada, e os outros seguem funcionando.
Backup da árvore inteira
Com o servidor parado, e a árvore de dados toda — não só a pasta de notas e não só um arquivo de banco. Restaure sempre para um diretório novo e confira antes de trocar.
Servidor que já tem site
Se as portas 80 e 443 já são de outro site, o Tura roda em loopback atrás do nginx, Apache ou Caddy que já está ali. O guia traz a unidade do systemd e os três modelos prontos.
O passo a passo completo — incluindo o que fazer quando não funciona — está em docs/SELF-HOSTING.md, no repositório.
O que mudou
Os lançamentos mais recentes, tirados do changelog do próprio projeto.
-
v1.1.0 atual
- O aplicativo procura as próprias atualizações — logo depois de abrir, a cada seis horas ou quando você pedir. Uma versão que você não quer agora pode ser dispensada, e instalar é um ato explícito, que espera o workspace fechar antes de reiniciar qualquer coisa.
- Os feeds de atualização são assinados, um por formato (macOS, AppImage, .deb e .rpm), e um pacote cuja assinatura não confere é recusado. Os pacotes de Arch continuam com o pacman, que é o atualizador certo naquele sistema.
-
v1.0.3
- Os instaladores de Linux saem da mesma linha de build local que o do macOS: .deb e AppImage por padrão, .rpm quando pedido, com as dependências conferidas antes de qualquer compilação.
- A publicação lê o hash de volta do servidor e compara. Um upload truncado deixa um arquivo que existe e que a página linka sem reclamar — ele tem de falhar aqui, não no seu navegador.
-
v1.0.1
- O build de macOS é assinado com um Developer ID e notarizado pela Apple, com o ticket grampeado na imagem, então o .dmg baixado abre offline e sem aviso nenhum.
- A publicação recusa de saída uma imagem sem assinatura ou sem o ticket. A regra passou a ser imposta pela ferramenta, em vez de lembrada por quem a executa.
-
v1.0.0
- A identidade Tura Notes: o logo do T em fita, ícones para cada plataforma e uma tela de boas-vindas que os carrega.
- O identificador do aplicativo, o executável e os caminhos de dados continuam os mesmos, então quem já tinha instalado mantém as notas e as configurações através da troca de nome.
-
v0.20.27
- Importar o texto de um PDF como Markdown: a extração abre numa prévia editável e só um salvar explícito grava a nota. O PDF em si e as imagens dele ficam fora do workspace.
Baixar para Linux · x64
$ chmod +x TuraNotes_1.11.21_amd64.AppImage && ./TuraNotes_1.11.21_amd64.AppImage