---
title: "Cara sinkronisasi vault Obsidian antar perangkat aman"
description: "Sinkronkan vault Obsidian antar perangkat Anda dan akses catatan di web secara aman menggunakan Synch & Ignis self-hosted di dalam Cloudflare Zero Trust privat."
canonical_url: "https://techvoyage.dev/id/article/sync-obsidian-across-devices"
last_updated: "2026-10-20T09:53:55.109Z"
---

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.

![Ilustrasi vault Obsidian yang disinkronkan di berbagai perangkat](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/obsidian-multi-device-sync-illustration.webp)Sejumlah solusi sinkronisasi tersedia untuk Obsidian, tetapi semuanya memiliki kompromi terkait penanganan konflik, enkripsi, atau kedaulatan data. [Synch](https://github.com/hjinco/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](https://github.com/Nystik-gh/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.

![Diagram arsitektur sinkronisasi Obsidian menggunakan Cloudflare Zero Trust](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/obsidian-sync-cloudflare-zero-trust-architecture.webp)<article-card description="Pelajari cara mengekspos dan mengakses Hermes Agent Anda secara global dan aman menggunakan Cloudflare WARP dan Zero Trust tanpa membuka port firewall masuk." image="https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/EN-Exposing-Hermes-Agent-to-Private-Network-Using-Cloudflare-WARP.webp" image-alt="Mengekspos Hermes Agent secara aman ke jaringan pribadi menggunakan Cloudflare Zero Trust dan terowongan WARP" label="Panduan terkait" min-read="8" title="Cara Mengekspos Hermes Agent Secara Privat dengan Cloudflare WARP" to="/article/exposing-hermes-agent-to-private-network-using-cloudflare-warp">



</article-card>

## Sinkronisasi 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).

![Mengonfigurasi data DNS A untuk server Synch di Cloudflare](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/cloudflare-dns-a-record-synch-server.webp)#### Menginstal Synch Docker di Ubuntu

##### Mengklon Repositori

```bash
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_SECRET` dan `SYNC_TOKEN_SECRET`: Hasilkan kunci aman menggunakan [alat kunci rahasia online](/id/tools/secret-key-hex) ini atau dengan menjalankan `openssl rand -hex 32` dua 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](/article/self-hosting-buzz-as-the-workspace-where-ai-agents-become-colleagues#_4-enable-https-with-caddy) kami.

<article-card description="Pelajari cara mengonfigurasi Caddy untuk menyediakan sertifikat SSL/TLS secara otomatis menggunakan tantangan DNS Cloudflare dalam wadah Docker." image="https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/EN-Self-Hosting-Buzz-As-The-Workspace-Where-AI-Agents-Become-Colleagues.webp" image-alt="Mengonfigurasi Caddy dengan token API Cloudflare DNS untuk pembuatan sertifikat SSL/TLS otomatis di ruang kerja mandiri" label="Panduan self-hosting" min-read="12" title="Self-Host Buzz dari Block: Ruang Kerja Bersama Agen AI Anda" to="/article/self-hosting-buzz-as-the-workspace-where-ai-agents-become-colleagues#_4-enable-https-with-caddy">



</article-card>

Sertakan arahan `SYNCH_DOMAIN` di Caddyfile Anda, yang mengarah ke port 8787 (port yang digunakan oleh kontainer Synch):

```json
{
  acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN}
}

{$SYNCH_DOMAIN} {
  encode zstd gzip
  reverse_proxy host.docker.internal:8787
}
```

Jalankan kontainer:

```bash
docker compose up -d
```

Jalankan perintah `curl` berikut untuk memeriksa ketersediaannya:

```bash
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):

![Menjelajahi plugin komunitas dalam pengaturan Obsidian](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/obsidian-community-plugins-browse.webp)Cari dan instal **'Synchrun'**:
![Menginstal plugin Synchrun di Obsidian](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/obsidian-install-synchrun-plugin.webp)

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).

![Mengonfigurasi URL server mandiri pada pengaturan plugin Synchrun](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/obsidian-synchrun-plugin-settings-self-hosted.webp)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:

![Halaman otorisasi akun untuk Synchrun](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/synchrun-account-authorization-page.webp)Klik tombol **'Allow Obsidian sign-in'** (Izinkan masuk Obsidian):

![Mengizinkan masuk (login) Obsidian untuk Synch](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/synchrun-allow-obsidian-signin.webp)Klik tombol **'Return to Obsidian'** (Kembali ke Obsidian), lalu klik **'Create vault'** (Buat vault):
![Membuat vault jarak jauh baru di Synchrun](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/obsidian-synchrun-create-remote-vault.webp)

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

![Menyiapkan kata sandi aman untuk vault jarak jauh Obsidian](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/obsidian-synchrun-vault-password-setup.webp)Proses sinkronisasi akan segera dimulai dan mungkin memerlukan beberapa waktu tergantung pada ukuran vault Anda. Setelah selesai, total penggunaan penyimpanan Anda akan ditampilkan.

![Sinkronisasi selesai menunjukkan total penyimpanan yang digunakan](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/obsidian-synchrun-sync-completed-storage.webp)## 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](https://ignis.thiefling.com/docs/using/limitations/) dan [Plugin compatibility](https://ignis.thiefling.com/docs/using/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

![Mengonfigurasi data DNS A untuk web client Ignis di Cloudflare](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/cloudflare-dns-a-record-ignis.webp)#### Menambahkan Domain ke Caddyfile

Tambahkan `obsidian.pafor.me` ke Caddyfile Anda dengan cara yang sama seperti `synch.pafor.me`:

```json
{$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:

```yml
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 `9898` pada host, karena `8080` biasanya digunakan oleh layanan lain.
- Jalankan perintah `id` di VPS Anda untuk memverifikasi `UID` dan `GID` pengguna host Anda untuk memastikan izin sistem berkas yang benar.
- Atur `WS_ORIGINS` hanya untuk mengizinkan koneksi WebSocket yang berasal dari nama domain spesifik Anda.

Jalankan docker **Ignis**:

```bash
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.

![Antarmuka Vault Manager kosong pada web client Ignis](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/ignis-vault-manager-empty.webp)#### 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`:

```bash
# 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`):

```bash
# 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.

![Menjalankan synch login dengan URL API khusus pada terminal](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/synch-login-api-url-terminal.webp)

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

![Tampilan terminal menunjukkan URL otentikasi untuk Synch CLI](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/synch-login-auth-url-terminal.webp)

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

![Otentikasi berhasil melalui web login untuk Synch CLI](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/synch-web-login-success.webp)

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`):

![Mengelola vault jarak jauh melalui plugin Synchrun](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/synchrun-manage-remote-vaults.webp)![Mencari ID vault jarak jauh yang unik di Synchrun](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/synchrun-remote-vault-id.webp)

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.

![Kemajuan awal sinkronisasi vault pada Synch CLI](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/synch-cli-initial-sync-progress.webp)

Untuk mengotomatiskan ini, siapkan dan aktifkan layanan systemd untuk menjalankan `synch watch` secara terus-menerus, memastikan perubahan disinkronkan secara instan saat boot:

```bash
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:

![Antarmuka web Ignis menampilkan vault Obsidian di desktop](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/ignis-web-interface-desktop-view.webp)Mengklik ikon pengaturan mengungkapkan bahwa hampir semua konfigurasi inti masih utuh, meskipun plugin komunitas Anda perlu diinstal ulang:

![Pengaturan plugin komunitas di antarmuka web Ignis](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/ignis-settings-community-plugins.webp)Untuk menguji penyiapan, Anda dapat menambahkan catatan baru melalui antarmuka web:

![Membuat catatan markdown baru menggunakan antarmuka web Ignis](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/ignis-create-new-note-web.webp)Catatan tersebut segera disinkronkan kembali ke aplikasi desktop Obsidian Anda. Perhatikan bahwa folder kosong tidak muncul di **Ignis**.

![Catatan yang baru dibuat sukses disinkronkan ke aplikasi desktop Obsidian](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/obsidian-desktop-synced-note.webp)Melihat `obsidian.pafor.me` di browser web seluler:

![Navigasi menu bilah sisi web client Ignis pada perangkat seluler](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/ignis-mobile-view-sidebar.webp)![Editor catatan markdown dari web client Ignis pada perangkat seluler](https://inimages.techvoyage.dev/articles/Sync%20Obsidian%20Across%20Devices/ignis-mobile-view-editor.webp)

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

- [Synch Deploy dengan Docker Compose](https://synch.run/self-hosting-docker/)
- [Ignis Deploy dengan Docker](https://ignis.thiefling.com/docs/server/deploy/)
- [Bagaimana cara kerja enkripsi ujung-ke-ujung di Synch?](https://synch.run/blog/encryption-and-decryption/)
