Wdróż aplikację Obsidian LiveSync na Pethost jednym kliknięciem
Serwer CouchDB, który synchronizuje twoje sejfy Obsidiana przez Self-hosted LiveSync
Co się dzieje
- Logujesz się do Pethost albo zakładasz konto, kluczem dostępu, przez GitHub albo Google.
- Nie masz jeszcze maszyny? Wybierasz plan, a my ją dla ciebie przygotowujemy. Link czeka w twojej przeglądarce, aż będzie gotowa.
- Okno „Nowy projekt” otwiera się na tej aplikacji. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: Hasło administratora.
- Za minutę czy dwie aplikacja działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
- To projekt jak każdy inny: jego compose.yaml, .env, logi i terminal są w panelu, a twój agent może go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.
Pierwsze kroki
W Obsidianie zainstaluj wtyczkę Self-hosted LiveSync i podaj jej https://obsidian-livesync.sam.pethost.app jako serwer, admin jako nazwę użytkownika i hasło podane przy tworzeniu projektu. Bazę danych wtyczka założy sama.
Co uruchamia
Szablon to ten compose.yaml i zmienne, które zapisuje do .env projektu. Pethost uruchamia plik dokładnie tak, jak jest napisany.
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: