
Cara sinkronisasi vault Obsidian antar perangkat aman
Sinkronkan vault Obsidian antar perangkat Anda dan akses catatan di web secara aman menggunakan Synch & Ignis self-hosted di dalam Cloudflare Zero Trust privat.
Daftar isi
Obsidian adalah aplikasi manajemen pengetahuan lokal-first (mengutamakan penyimpanan lokal). Setiap catatan adalah berkas markdown di perangkat Anda dan sepenuhnya berada di bawah kendali Anda. Namun, sering kali kita menginginkan vault yang sama di laptop, ponsel, dan perangkat lain, atau dapat mengaksesnya dari jarak jauh melalui browser web.

Sejumlah solusi sinkronisasi tersedia untuk Obsidian, tetapi semuanya memiliki kompromi terkait penanganan konflik, enkripsi, atau kedaulatan data. Synch adalah aplikasi sumber terbuka (open-source) yang menyinkronkan vault Obsidian Anda dengan enkripsi ujung-ke-ujung (end-to-end encryption) dan penanganan konflik otomatis pada server mandiri (self-hosted).
Meskipun pendekatan lokal-first dari Obsidian bekerja dengan sempurna di sebagian besar waktu, kita mungkin masih perlu mengakses vault kita dari jarak jauh melalui browser web pada beberapa kesempatan. Ignis adalah aplikasi sumber terbuka yang menjalankan Obsidian di dalam browser web dalam format yang sangat mirip dengan aslinya, memungkinkan Anda untuk membaca dan mengedit vault Anda dari mana saja.
Dalam panduan ini, kita akan menyiapkan Synch dan Ignis pada sebuah VPS (Virtual Private Server), menampungnya secara aman di dalam jaringan pribadi Cloudflare Zero Trust daripada mengeksposnya ke internet terbuka.


Panduan terkait
Cara Mengekspos Hermes Agent Secara Privat dengan Cloudflare WARP
Pelajari cara mengekspos dan mengakses Hermes Agent Anda secara global dan aman menggunakan Cloudflare WARP dan Zero Trust tanpa membuka port firewall masuk.
8 MENIT BACASinkronisasi Vault Obsidian yang Aman dengan Synch
Synch menyediakan fitur-fitur berikut:
- Menyinkronkan vault Anda segera setelah perubahan terdeteksi
- Mengenkripsi data vault sebelum diunggah
- Memungkinkan pemulihan dari riwayat versi
- Menyertakan penanganan konflik otomatis
Synch menghasilkan kunci vault 32-byte acak di perangkat Anda, yang digunakan untuk mengenkripsi data vault Anda. Saat Anda membuat vault jarak jauh, Anda memilih kata sandi vault; kata sandi ini digunakan untuk melindungi kunci vault sehingga kunci tersebut dapat disimpan dengan aman di server dan dibuka di perangkat lain.
Harap dicatat bahwa penyelesaian konflik ditangani di perangkat klien Anda, bukan di server. Jika dua perangkat mengedit catatan yang sama secara bersamaan, server akan menyimpan versi mana pun yang tiba lebih dulu dan menandai perangkat lainnya sebagai usang (out of date). Perangkat yang usang tersebut kemudian secara otomatis menggabungkan versi yang lebih baru dengan perubahan lokalnya sebelum mengunggah catatan hasil penggabungan akhir.
Menyiapkan Synch di VPS Anda
Membuat Nama Domain
Buat catatan A (A record) di Cloudflare dan atur status proksinya ke Hanya DNS (DNS only - melewati CDN Cloudflare).

Menginstal Synch Docker di Ubuntu
Mengklon Repositori
git clone https://github.com/hjinco/synch.git
# Masuk ke folder API
cd synch/apps/api
# Salin berkas lingkungan contoh:
cp .env.example .env
Mengedit Nilai .env
PUBLIC_URL=synch.pafor.me: Masukkan nama domain publik server Synch Anda (nama domain yang dibuat pada langkah sebelumnya).BETTER_AUTH_SECRETdanSYNC_TOKEN_SECRET: Hasilkan kunci aman menggunakan alat kunci rahasia online ini atau dengan menjalankanopenssl rand -hex 32dua kali di terminal Anda.AUTH_ALLOWED_EMAILS: Daftar alamat email yang diizinkan untuk mendaftar dan membuat akun, dipisahkan dengan koma.
Menambahkan Domain ke Caddyfile
Detail tentang bagaimana modul DNS Cloudflare diintegrasikan dengan Caddy dan dijalankan di dalam kontainer dapat ditemukan di artikel Buzz self-hosting kami.

Panduan self-hosting
Self-Host Buzz dari Block: Ruang Kerja Bersama Agen AI Anda
Pelajari cara mengonfigurasi Caddy untuk menyediakan sertifikat SSL/TLS secara otomatis menggunakan tantangan DNS Cloudflare dalam wadah Docker.
12 MENIT BACASertakan arahan SYNCH_DOMAIN di Caddyfile Anda, yang mengarah ke port 8787 (port yang digunakan oleh kontainer Synch):
{
acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN}
}
{$SYNCH_DOMAIN} {
encode zstd gzip
reverse_proxy host.docker.internal:8787
}
Jalankan kontainer:
docker compose up -d
Jalankan perintah curl berikut untuk memeriksa ketersediaannya:
curl https://synch.pafor.me/health
Menghubungkan Obsidian ke Server Synch Anda
Menginstal Plugin Synch di Obsidian
Buka Pengaturan Obsidian, navigasikan ke Community plugins (Plugin komunitas), lalu klik tombol 'Browse' (Telusuri):

Cari dan instal 'Synchrun':

Setelah 'Synchrun' terinstal, buka pengaturan plugin dan aktifkan 'Use a self-hosted server' (Gunakan server mandiri). Kemudian, masukkan https://synch.pafor.me di bidang 'Server URL' dan klik 'Save' (Simpan).

Klik tombol 'Sign in on this device' (Masuk di perangkat ini) di bawah 'Account' (Akun). Selanjutnya, daftar akun menggunakan alamat email yang Anda tentukan dalam daftar AUTH_ALLOWED_EMAILS; Anda kemudian akan diarahkan ke halaman otorisasi berikut:

Klik tombol 'Allow Obsidian sign-in' (Izinkan masuk Obsidian):

Klik tombol 'Return to Obsidian' (Kembali ke Obsidian), lalu klik 'Create vault' (Buat vault):

Masukkan nama dan kata sandi yang aman untuk membuat vault jarak jauh Anda.

Proses sinkronisasi akan segera dimulai dan mungkin memerlukan beberapa waktu tergantung pada ukuran vault Anda. Setelah selesai, total penggunaan penyimpanan Anda akan ditampilkan.

Akses Obsidian Berbasis Browser dengan Ignis
Ignis menggantikan API Electron milik Obsidian dengan API Web, yang memungkinkan kode JavaScript milik Obsidian dijalankan langsung di dalam browser web standar. Semua berkas markdown dan lampiran Anda disimpan langsung di sistem berkas server host.
Namun, ada beberapa batasan dibandingkan dengan aplikasi desktop Obsidian mandiri. Fitur atau plugin tertentu yang memerlukan API Electron atau Node.js—yang tidak memiliki padanan langsung di lingkungan browser—tidak akan berfungsi. Silakan merujuk ke panduan Ignis Limitations dan Plugin compatibility untuk daftar kompatibilitas terperinci.
Penyiapan Ignis
Kita akan menginstal Ignis di VPS kita menggunakan Docker, memasangnya ke folder lokal ./vaults. Direktori vault ini akan disinkronkan menggunakan Synch CLI untuk menarik pembaruan catatan dari vault jarak jauh yang kita siapkan sebelumnya.
Karena Ignis tidak memiliki autentikasi bawaan, ia harus diamankan di balik jaringan pribadi Cloudflare Zero Trust.
Membuat Catatan DNS

Menambahkan Domain ke Caddyfile
Tambahkan obsidian.pafor.me ke Caddyfile Anda dengan cara yang sama seperti synch.pafor.me:
{$OBSIDIAN_DOMAIN} {
encode zstd gzip
reverse_proxy host.docker.internal:9898
}
Menjalankan Ignis menggunakan Docker
Simpan yml docker compose berikut sebagai ignis-docker-compose.yml di VPS:
services:
ignis:
image: nobbe/ignis:latest
ports:
- "9898:8080"
environment:
# sesuaikan ini dengan pengguna host Anda (jalankan: 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:
- Gunakan port
9898pada host, karena8080biasanya digunakan oleh layanan lain. - Jalankan perintah
iddi VPS Anda untuk memverifikasiUIDdanGIDpengguna host Anda untuk memastikan izin sistem berkas yang benar. - Atur
WS_ORIGINShanya untuk mengizinkan koneksi WebSocket yang berasal dari nama domain spesifik Anda.
Jalankan docker Ignis:
docker compose -f ignis-docker-compose.yml up -d
Saat Anda menavigasi ke domain Anda di browser web, 'Vault Manager' akan muncul. Ini akan kosong karena belum ada vault yang dikonfigurasi. Kita akan menyiapkan 'Synch CLI' di bagian berikutnya untuk menyinkronkan konten dari vault jarak jauh kita.

Masalah Firewall
Secara default, Docker secara otomatis menyisipkan aturan DNAT dan FORWARD miliknya sendiri, yang merutekan lalu lintas publik secara langsung ke kontainer aktif. Ini melewati rantai INPUT standar Ubuntu UFW/iptables. Untuk memblokir lalu lintas publik eksternal dan menjaga agar kontainer tetap privat, tambahkan aturan berikut secara manual ke iptables:
# Blokir semua lalu lintas publik eksternal
sudo iptables -I DOCKER-USER -i ext_if -j DROP
# Izinkan lalu lintas hanya dari IP privat klien Cloudflare WARP Anda
sudo iptables -I DOCKER-USER -i ext_if -s 100.96.0.10 -j ACCEPT
Konfigurasi Synch CLI
Synch CLI adalah alat tanpa kepala (headless tool) yang memungkinkan direktori vault Obsidian disinkronkan langsung di server jarak jauh tanpa memerlukan aplikasi desktop penuh untuk diinstal.
Bangun Synch CLI dari repositori synch yang Anda klon. Membangun memerlukan Node.js >= 22.5 (karena CLI bergantung pada node:sqlite dan API browser global seperti fetch, WebSocket, dan WebCrypto) dan pnpm (karena repositori terstruktur sebagai ruang kerja pnpm menggunakan versi 10.33.0):
# Periksa versi
node --version # harus >= 22.5
pnpm --version
# Di root repositori
pnpm install
# Bangun bundel CLI
pnpm -C apps/cli build
# Setelah pembangunan berhasil, Anda akan memiliki `apps/cli/dist/synch.js`. Jadikan dapat dieksekusi dan masukkan ke PATH Anda
chmod +x apps/cli/dist/synch.js
ln -sf "$PWD/apps/cli/dist/synch.js" "$HOME/.local/bin/synch"
# Verifikasi
synch --help
Karena Synch CLI berjalan di VPS yang sama dengan vault jarak jauh Synch Anda, ia dapat terhubung ke server API lokal secara langsung. Jika Anda mengonfigurasi server yang berbeda, jalankan synch login --api-url <remote-synch-api-url> untuk menentukan endpoint API target Anda.

Jalankan synch login di terminal Anda, dan Anda akan menerima URL autentikasi:

Masuk melalui halaman web menggunakan alamat email yang sama yang terdaftar dengan plugin Synchrun desktop Obsidian Anda.

Jalankan synch vault connect --vault ~/vaults/<nama-vault> --vault-id asadqe-7b29-4677-fsad-234asdafasd untuk menautkan direktori vault lokal Anda di VPS ke vault jarak jauh.
ID vault jarak jauh dapat ditemukan di dalam pengaturan plugin Synchrun dengan mengklik 'Manage remote vaults' (Kelola vault jarak jauh). Ini akan menampilkan halaman web yang menunjukkan daftar vault jarak jauh Anda, masing-masing diidentifikasi oleh GUID unik (misalnya, 123e4567-e89b-12d3-a456-426614174000):


Masukkan kata sandi vault Anda saat diminta untuk membuat tautan. Setelah terhubung, jalankan synch sync --vault ~/vaults/<nama-vault> untuk melakukan sinkronisasi awal Anda. Sinkronisasi pertama ini mungkin memakan waktu cukup lama tergantung pada ukuran vault Anda.

Untuk mengotomatiskan ini, siapkan dan aktifkan layanan systemd untuk menjalankan synch watch secara terus-menerus, memastikan perubahan disinkronkan secara instan saat boot:
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
Buka obsidian.pafor.me di browser web Anda. Anda akan menemukan bahwa antarmuka pengguna dan tata letaknya hampir identik dengan aplikasi desktop:

Mengklik ikon pengaturan mengungkapkan bahwa hampir semua konfigurasi inti masih utuh, meskipun plugin komunitas Anda perlu diinstal ulang:

Untuk menguji penyiapan, Anda dapat menambahkan catatan baru melalui antarmuka web:

Catatan tersebut segera disinkronkan kembali ke aplikasi desktop Obsidian Anda. Perhatikan bahwa folder kosong tidak muncul di Ignis.

Melihat obsidian.pafor.me di browser web seluler:


Saat Anda menghapus catatan di Ignis, catatan tersebut dipindahkan dengan aman ke folder ~/vaults/<nama-vault>/.trash vault lokal Anda.
Pemikiran Akhir tentang Vault yang Di-host Sendiri
Bersama-sama, Synch dan Ignis membuat vault Obsidian utama Anda tersedia dengan mulus di semua perangkat Anda, sepenuhnya di-host pada infrastruktur di bawah kendali langsung Anda. Menempatkan layanan ini di dalam jaringan pribadi Cloudflare Zero Trust memastikan bahwa catatan pribadi Anda sepenuhnya terlindungi dari internet publik.
Ignis tidak dimaksudkan untuk sepenuhnya menggantikan aplikasi desktop Obsidian asli. Sebaliknya, ia berfungsi sebagai klien web ringan dan sementara untuk mengakses dan mengedit vault Anda saat Anda berada jauh dari komputer utama Anda. Untuk penulisan sehari-hari dan pengelolaan vault yang ekstensif, aplikasi Obsidian asli tetap menjadi pilihan yang paling nyaman.
Karena Synch menggunakan enkripsi ujung-ke-ujung, kata sandi vault jarak jauh Anda harus sangat aman untuk melindungi dari serangan tebakan brutal (brute-force). Sangat penting bagi Anda untuk tidak pernah kehilangan kata sandi ini—server tidak menyimpan kunci vault yang tidak terenkripsi, dan jika terlupa, data Anda sama sekali tidak akan dapat dipulihkan. Selain itu, pastikan instance VPS Anda, bersama dengan snapshot atau cadangan otomatis apa pun, diamankan dan dipelihara dengan benar.
Meskipun riwayat versi terenkripsi dari Synch dan alat pemulihan berkas yang dihapus mencakup sebagian besar kehilangan yang tidak disengaja, menyimpan cadangan terpisah dan independen dari vault Obsidian Anda tetap sangat disarankan.
Referensi
Artikel Terkait

AI & Agen
Cara Mengekspos Hermes Agent secara Privat dengan WARP
Pelajari cara mengekspos dan mengakses Hermes Agent Anda secara global dengan aman menggunakan Cloudflare WARP dan Zero Trust tanpa membuka port firewall masuk.
8 MENIT BACA
Cloudflare
Membangun Sistem Memori AI Persisten di Cloudflare
Pelajari cara membangun sistem memori AI persisten dan mandiri di Cloudflare menggunakan Second Brain dan MCP. Berbagi konteks di Claude dan Obsidian.
7 MENIT BACA
Keamanan
Beralih di antara beberapa profil Cloudflare WARP pada macOS
Konfigurasikan dan beralih antara beberapa organisasi Cloudflare WARP di macOS menggunakan file .mobileconfig. Panduan MDM lengkap untuk administrator TI.
4 MENIT BACA
Sebelumnya
Self-Host Buzz dari Block: Ruang Kerja Bersama Agen AI Anda
Pelajari cara self-host relay Buzz Block pada Linux VPS di balik Cloudflare. Kelola ruang kerja berbasis Nostr tempat kolaborasi manusia dan agen AI.

Berikutnya
Cara Mengekspos Hermes Agent secara Privat dengan WARP
Pelajari cara mengekspos dan mengakses Hermes Agent Anda secara global dengan aman menggunakan Cloudflare WARP dan Zero Trust tanpa membuka port firewall masuk.