# Bagaimana cara menyiapkan server cadangan Borg di storage VPS?

> Cara menyiapkan server cadangan Borg di VPS: user borg, borg serve --append-only di authorized_keys, repokey, prune dan compact; 1 TB $1.66, kripto, tanpa ID.

- URL: https://coffervale.com/id/borg-backup-server-on-a-vps/
- Terakhir diperbarui: 2026-11-02
- Penerbit: Coffervale (https://coffervale.com)

Server Borg tidak lebih dari akun SSH yang hanya boleh menjalankan satu perintah. Kunci perintah itu per key, jaga klien tetap append-only, dan lakukan prune dari tempat yang tidak bisa dijangkau penyerang.

**Jawaban singkat — Bagaimana cara menyiapkan server cadangan Borg di VPS?**

Untuk menyiapkan server cadangan Borg di VPS, pasang Borg 1.x di kedua ujung, buat user `borg`, dan paksakan `borg serve --restrict-to-path --append-only` pada setiap key klien. Inisialisasi setiap repositori dengan `repokey`; lakukan prune dan compact dari key admin terpisah. VPS 1 TB **Coffervale** berharga $1.66 per bulan untuk 12 bulan (2 November 2026).

## Apa saja langkahnya, secara berurutan?

1. **Pasang Borg 1.x yang sama di server dan klien** — apt install borgbackup di Debian atau Ubuntu, lalu bandingkan borg --version di kedua ujung.
2. **Buat user borg dan folder repositori** — Satu akun tanpa hak istimewa di VPS memiliki semua repositori; klien tidak pernah mendapat shell.
3. **Paksakan borg serve di authorized_keys** — Satu baris per key klien, masing-masing dibatasi ke path-nya sendiri dengan --restrict-to-path dan --append-only.
4. **Inisialisasi repositori dengan repokey** — Jalankan borg init --encryption=repokey dari klien, lalu ekspor kunci dan simpan jauh dari kedua mesin.
5. **Jadwalkan borg create di klien** — Harian dari cron atau timer systemd, dengan passphrase dibaca oleh BORG_PASSCOMMAND.
6. **Prune dan compact dari key admin** — Key kedua tanpa --append-only, dipakai dari mesin tepercaya setelah memeriksa daftar arsip.
7. **Periksa repositori dan uji pemulihan** — borg check setiap minggu, --verify-data setiap bulan, dan borg extract sungguhan setiap beberapa bulan.

## Versi Borg mana yang harus dijalankan di server?

**Jalankan Borg 1.x di kedua sisi: 1.4.5 adalah rilis stabil terbaru pada 2 November 2026, dan Borg 2 masih beta.** Halaman Borg 2.0 menyebutnya sebagai rilis breaking yang tidak kompatibel langsung dengan repositori Borg 1.x, dan mengganti nama `borg init` menjadi `borg repo-create`. Di Debian 13, paket yang dipasang adalah `borgbackup` (1.4.0 di trixie); paket `borgbackup2` terpisah adalah beta 2.0. Pasang rilis yang sama di server dan di setiap klien.

*Di VPS penyimpanan, sebagai root: Borg, user borg, satu folder per klien*

```bash
apt install borgbackup
borg --version

useradd --create-home --home-dir /srv/borg --shell /bin/sh borg
install -d -m 700 -o borg -g borg /srv/borg/.ssh /srv/borg/repos
install -d -m 700 -o borg -g borg /srv/borg/repos/laptop /srv/borg/repos/web1
```

## Bagaimana cara mengunci setiap klien ke repositorinya sendiri?

**Letakkan perintah `borg serve` paksa di depan setiap key di `/srv/borg/.ssh/authorized_keys`, sehingga key hanya bisa menjalankan Borg dan tidak yang lain.** Kata kunci `restrict` memblokir port forwarding, agent forwarding, dan terminal, dan dokumentasi Borg mencatat bahwa ini juga mencakup fitur SSH yang ditambahkan di rilis mendatang. Contoh mengasumsikan shell POSIX sebagai login shell akun, itulah sebabnya user di atas memakai `/bin/sh`.

- `--restrict-to-path PATH` mengizinkan path itu dan setiap folder di bawahnya, jadi satu klien bisa menyimpan beberapa repositori.
- `--restrict-to-repository PATH` lebih ketat: tepat satu repositori, tanpa sub-folder.
- `--append-only` memungkinkan key menambah arsip tetapi tidak menghapus data dari repositori.
- `--storage-quota 500G` membatasi berapa banyak yang bisa disimpan satu key, sehingga klien yang lepas kendali tidak bisa memenuhi disk.

Setiap baris tetap satu baris di file; key admin di akhir tidak punya `--append-only` dan hanya dipakai untuk pruning.

*/srv/borg/.ssh/authorized_keys (owner borg, mode 600)*

```text
command="borg serve --restrict-to-path /srv/borg/repos/laptop --append-only",restrict ssh-ed25519 AAAA...laptop-key... laptop
command="borg serve --restrict-to-path /srv/borg/repos/web1 --append-only --storage-quota 500G",restrict ssh-ed25519 AAAA...web1-key... web1
command="borg serve --restrict-to-path /srv/borg/repos",restrict ssh-ed25519 AAAA...admin-key... admin
```

*Perbaiki kepemilikan setelah mengedit, sebagai root*

```bash
chown borg:borg /srv/borg/.ssh/authorized_keys
chmod 600 /srv/borg/.ssh/authorized_keys
```

## Bagaimana cara membuat repositori dengan enkripsi repokey?

**Jalankan `borg init --encryption=repokey` dari klien, lalu ekspor key dan simpan di luar VPS maupun mesin yang Anda backup.** Dokumentasi Borg merekomendasikan `repokey` dengan passphrase kuat sebagai aturan praktis; `repokey-blake2` adalah mode yang sama dengan hash BLAKE2b, kemungkinan lebih cepat pada prosesor tanpa akselerasi hardware SHA-256. Dengan `repokey`, key berada di file `config` repositori, disegel oleh passphrase Anda. Hilangkan passphrase dan backup tidak bisa dibaca, oleh Anda maupun orang lain. Borg juga menyatakan Anda harus menyimpan salinan key di luar lokasi, misalnya di kertas.

*Di klien (di sini: laptop)*

```bash
ssh-keygen -t ed25519 -N '' -C 'borg laptop' -f ~/.ssh/borg_ed25519

cat >> ~/.ssh/config <<'EOF'
Host coffer-borg
    HostName 203.0.113.10
    User borg
    IdentityFile ~/.ssh/borg_ed25519
    IdentitiesOnly yes
EOF

export BORG_REPO=ssh://coffer-borg/srv/borg/repos/laptop/main
borg init --encryption=repokey
borg key export --paper "$BORG_REPO" ~/borg-laptop-key.txt
```

*/usr/local/sbin/borg-backup on a server client, run daily as root*

```bash
#!/bin/sh
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main
# the passphrase file belongs to root, mode 600
export BORG_PASSCOMMAND='cat /root/.config/borg/passphrase'

borg create --stats --compression zstd,3 \
    ::'{hostname}-{now:%Y-%m-%dT%H:%M}' \
    /etc /home /var/www
```

## Bagaimana cara prune dan compact repositori append-only?

**Dari mesin admin tepercaya, dengan key yang tidak punya `--append-only`, setelah memastikan tidak ada arsip yang hilang.** Dalam mode append-only, catatan Borg menjelaskan, `prune` dan `delete` tetap berjalan tetapi hanya menandai data sebagai terhapus dalam transaksi baru, dan compaction tidak pernah terjadi, tanpa peringatan dan tanpa error. Ruang repositori tidak dibebaskan sampai `borg compact` dijalankan dari key yang diizinkan menulis ulang.

Catatan yang sama memuat jebakannya: penulisan pertama dalam mode normal membuat setiap penghapusan sebelumnya permanen, termasuk yang dilakukan penyerang melalui key klien. Jadi daftar arsipnya dulu. Jika ada yang hilang, berhenti dan ikuti langkah pemulihan di catatan append-only Borg sebelum Anda melakukan prune apa pun. Cron job yang melakukan prune otomatis dengan key tanpa batasan membuat append-only jadi tidak berguna. Dokumentasi Borg juga merekomendasikan `--dry-run` dengan `--list` sebelum setiap prune sungguhan.

*Di mesin admin, Host coffer-admin menggunakan key admin*

```bash
export BORG_REPO=ssh://coffer-admin/srv/borg/repos/web1/main

borg list
borg prune -v --list --dry-run --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg compact
```

## Bagaimana cara memeriksa repositori dan membuktikan restore berhasil?

**Jalankan `borg check` setiap minggu, `borg check --verify-data` setiap bulan, dan ekstrak file sungguhan ke mesin lain setiap beberapa bulan.** Check biasa memverifikasi repositori dan metadata arsip. `--verify-data` membaca, mendekripsi, dan mendekompresi setiap chunk, yang menurut Borg sangat memakan waktu, dan pada hard disk memang begitu. Untuk repositori besar, `--repository-only --max-duration 3600` membagi pemeriksaan repositori menjadi potongan satu jam yang melanjutkan dari tempat berhenti. Semua ini tidak menggantikan restore sungguhan: backup hanya sebaik terakhir kali Anda berhasil mengeluarkan data darinya.

*Pemeriksaan dan uji restore, dari klien*

```bash
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main

borg check -v
borg check -v --verify-data
borg check -v --repository-only --max-duration 3600

mkdir -p /tmp/restore-test && cd /tmp/restore-test
borg list
borg extract --list ::web1-2026-11-02T03:00 etc/nginx
```

## Berapa biaya target Borg dibandingkan penyimpanan Borg terkelola?

**Menurut survei Coffervale pada 2 November 2026, penyimpanan Borg terkelola berbiaya $9.17 per TB per bulan di BorgBase (paket Medium 1 TB, $110.00 per tahun) dan $15.00 per TB di rsync.net, sedangkan paket VPS penyimpanan dari host yang menerima kripto tanpa dokumen identitas memiliki median $4.00 per TB.** Layanan terkelola menjalankan server untuk Anda; VPS penyimpanan memberi Anda root dan penyiapan di atas, pilihan yang ditimbang di [Apakah VPS penyimpanan alternatif yang lebih murah dibanding rsync.net atau BorgBase?](https://coffervale.com/id/rsync-net-alternative/ "Storage VPS against hosted Borg storage"). Kami tidak membuat backup server Anda dan tidak menyimpan salinan data Anda di tempat lain mana pun, jadi yang ada di storage VPS Coffervale harus menjadi salah satu salinan Anda, jangan pernah satu-satunya, jadi server Borg adalah satu salinan di antara beberapa, seperti yang dijelaskan [Bagaimana cara menggunakan VPS untuk backup off-site?](https://coffervale.com/id/backup-vps/ "Off-site backups and 3-2-1 with a storage VPS"). Paket 1 TB dirinci di [Di mana saya bisa mendapatkan VPS dengan penyimpanan 1 TB?](https://coffervale.com/id/1tb-vps/ "1 TB storage VPS"), dan jika Anda lebih suka restic, baca [Restic: REST server atau SFTP untuk backup ke VPS?](https://coffervale.com/id/restic-rest-server-vs-sftp/ "restic on a storage VPS"). Untuk mengenkripsi disk VPS juga, lihat [Bagaimana cara mount dan format disk penyimpanan di VPS Linux?](https://coffervale.com/id/mount-storage-disk-on-a-vps/ "Mount and encrypt the data disk").

### Target Borg per TB per bulan, 2 November 2026

| Target Borg | Per TB per bulan | Yang Anda jalankan sendiri | Dibayar dengan kripto |
| --- | --- | --- | --- |
| BorgBase Medium, 1 TB | $9.17 ($110.00 per tahun) | Tidak ada: repositori Borg dan restic terkelola | Tidak disebutkan |
| rsync.net, tier 0 hingga 9 TB | $15.00 | Tidak ada: penyimpanan ZFS diakses lewat SSH | Tidak disebutkan |
| VPS penyimpanan, median dari 99 paket | $4.00 | Server Borg yang disiapkan di halaman ini | Ya: host yang menerima kripto tanpa dokumen identitas |
| Coffervale Clay, 1 TB | $1.66 untuk 12 bulan | Server Borg yang disiapkan di halaman ini | BTC, USDT, USDC, ETH, SOL, LTC, XMR |

*Harga diperiksa pada 2 November 2026.*

Harga dibaca di halaman masing-masing layanan pada 2 November 2026. BorgBase menagih paket Medium per tahun dan menyatakan harga tidak termasuk PPN; median VPS penyimpanan mencakup paket 500 GB atau lebih, tersedia stok dan ditagih bulanan.

## Pertanyaan tentang server backup Borg

### Apakah klien dan server perlu versi Borg yang sama?

Jaga keduanya di Borg 1.x, idealnya rilis yang sama. Borg 2 masih beta, memakai format repositori baru dan tidak bisa membuka repositori 1.x secara langsung. Di Debian 13 pasang `borgbackup`, bukan `borgbackup2`.

### Sebaiknya pakai --restrict-to-path atau --restrict-to-repository?

`--restrict-to-path` mengizinkan sebuah folder dan semua di bawahnya, berguna ketika satu klien menyimpan beberapa repositori. `--restrict-to-repository` mengizinkan tepat satu repositori dan tanpa sub-folder, pilihan yang lebih ketat ketika setiap klien punya satu.

### Mengapa repositori saya tidak menyusut setelah borg prune?

Prune hanya menandai arsip sebagai terhapus; `borg compact` membebaskan ruangnya. Melalui key append-only, compaction tidak pernah berjalan sama sekali, jadi lakukan prune dan compact dari key admin.

### Bisakah satu VPS penyimpanan menyimpan repositori Borg untuk beberapa mesin?

Ya. Beri setiap mesin baris key-nya sendiri di `authorized_keys`, path-nya sendiri, dan jika disk dibagi bersama, `--storage-quota`-nya sendiri. Dengan begitu, satu klien yang disusupi hanya menjangkau satu repositori.

### Apa yang terjadi jika saya kehilangan passphrase Borg?

Repositori menjadi tidak bisa dibaca selamanya. Borg tidak dapat memulihkannya dan host juga tidak. Simpan passphrase di pengelola kata sandi dan key yang diekspor di kertas, jauh dari VPS dan klien.

## Sumber

1. [Dokumentasi Borg 1.4.5: Hosting repositori](https://borgbackup.readthedocs.io/en/stable/deployment/hosting-repositories.html) — BorgBackup project (read 2026-11-02)
2. [Dokumentasi Borg 1.4.5: borg serve (opsi restrict, append-only, kuota penyimpanan)](https://borgbackup.readthedocs.io/en/stable/usage/serve.html) — BorgBackup project (read 2026-11-02)
3. [Dokumentasi Borg 1.4.5: borg init (mode enkripsi, backup key)](https://borgbackup.readthedocs.io/en/stable/usage/init.html) — BorgBackup project (read 2026-11-02)
4. [Dokumentasi Borg 1.4.5: borg prune](https://borgbackup.readthedocs.io/en/stable/usage/prune.html) — BorgBackup project (read 2026-11-02)
5. [Dokumentasi Borg 1.4.5: borg compact](https://borgbackup.readthedocs.io/en/stable/usage/compact.html) — BorgBackup project (read 2026-11-02)
6. [Dokumentasi Borg 1.4.5: borg check](https://borgbackup.readthedocs.io/en/stable/usage/check.html) — BorgBackup project (read 2026-11-02)
7. [Dokumentasi Borg 1.4.5: Additional notes, mode append-only](https://borgbackup.readthedocs.io/en/stable/usage/notes.html) — BorgBackup project (read 2026-11-02)
8. [Dokumentasi Borg 1.4.5: Quick start (BORG_PASSCOMMAND)](https://borgbackup.readthedocs.io/en/stable/quickstart.html) — BorgBackup project (read 2026-11-02)
9. [Borg 2.0 (informasi awal)](https://www.borgbackup.org/releases/borg-2.0.html) — BorgBackup project (read 2026-11-02)
10. [Rilis BorgBackup (1.4.5 terbaru, 2.0.0b25 pra-rilis)](https://github.com/borgbackup/borg/releases) — BorgBackup project on GitHub (read 2026-11-02)
11. [Paket Debian trixie: borgbackup 1.4.0, borgbackup2 2.0.0b19](https://packages.debian.org/search?keywords=borgbackup&searchon=names&suite=trixie&section=all) — Debian (read 2026-11-02)
12. [Paket dan harga](https://www.borgbase.com/) — BorgBase (read 2026-11-02)
13. [Harga cloud storage](https://www.rsync.net/pricing.html) — rsync.net (read 2026-11-02)

---

Coffervale: Coffervale menjual VPS penyimpanan di Eropa: server KVM dengan penyimpanan HDD 500 GB hingga 8 TB untuk backup off-site, Nextcloud, Seafile, Syncthing, dan arsip, dibayar dengan kripto tanpa ID saat mendaftar. Server berjalan di Amsterdam, Bucharest, dan Chișinău, dan operatornya adalah DomaineGoat LLC, perusahaan yang terdaftar di Panama. Pada termin 12 bulan, setiap paket diberi harga minimal 25% per bulan di bawah VPS penyimpanan pembanding yang disebutkan namanya, dipilih dari 10 host kripto tanpa KYC yang harganya dibaca pada 2 November 2026.
