Faça o deploy de Obsidian LiveSync no Pethost com um clique
Um servidor CouchDB que sincroniza seus cofres do Obsidian com o Self-hosted LiveSync
O que acontece
- Você entra no Pethost ou cria uma conta, com uma passkey, GitHub ou Google.
- Ainda não tem máquina? Você escolhe um plano, e nós preparamos uma para você. O link espera no seu navegador até ela ficar pronta.
- Novo projeto abre no app. Você preenche o que ele pede e clica em Criar projeto: Senha do administrador.
- Em um ou dois minutos o app está no ar no próprio endereço com HTTPS. Os segredos dele são gerados ao acaso, e os dados vão para o backup noturno.
- É um projeto como qualquer outro: o compose.yaml, o .env, os logs e um terminal ficam no painel, e seu agente pode alterá-lo, fazer rollback ou restaurá-lo.
Primeiros passos
No Obsidian, instale o plugin Self-hosted LiveSync e informe https://obsidian-livesync.sam.pethost.app como servidor, admin como usuário e a senha que você definiu. O plugin cria o banco de dados sozinho.
O que roda
O template é este compose.yaml e as variáveis que ele grava no .env do projeto. O Pethost roda o arquivo exatamente como está escrito.
services:
couchdb:
image: couchdb:3
restart: unless-stopped
environment:
COUCHDB_USER: admin
COUCHDB_PASSWORD: ${ADMIN_PASSWORD}
COUCHDB_SECRET: ${COUCHDB_SECRET}
configs:
- source: livesync
target: /opt/couchdb/etc/local.d/livesync.ini
volumes:
# The image declares /opt/couchdb/data a volume: the vaults are in it.
- data:/opt/couchdb/data
configs:
# What Self-hosted LiveSync's own setup script sets (utils/couchdb/provision.ts): one node,
# nothing answered without a sign-in, room for big notes, and Obsidian's apps let in by CORS.
livesync:
content: |
[couchdb]
single_node = true
max_document_size = 50000000
[chttpd]
require_valid_user = true
max_http_request_size = 4294967296
enable_cors = true
[chttpd_auth]
require_valid_user = true
[httpd]
WWW-Authenticate = Basic realm="couchdb"
enable_cors = true
[cors]
origins = app://obsidian.md,capacitor://localhost,http://localhost
credentials = true
volumes:
data: