Skip to content

emka.web.id

writing knowledge, recording civilization

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Membuat Backup Server dengan Restic REST Server di Linux

Posted on May 18, 2024

Ingin membackup data dengan aman dan efisien? Restic hadir sebagai solusi tepat! Ini adalah sistem backup modern yang mendukung deduplikasi dan enkripsi. Tak hanya itu, Restic bisa menyimpan backup secara lokal maupun remote, melalui koneksi SFTP atau berbagai layanan penyimpanan populer seperti Amazon S3 dan Google Cloud Storage.

Lebih menarik lagi, Restic REST Server memungkinkan Anda untuk melakukan push backup menggunakan protokol HTTP atau HTTPS ke server jarak jauh.

Penasaran bagaimana cara menggunakannya? Artikel ini akan membahas langkah demi langkah deploy dan konfigurasi Restic REST Server menggunakan Docker di Linux.

Yang Akan Anda Pelajari:

  • Deploy Restic REST Server menggunakan Docker di Linux
  • Konfigurasi autentikasi dan enkripsi SSL/TLS
  • Instalasi dan konfigurasi Restic REST Server di Linux

Persiapan Awal

Sebelum memulai, pastikan Anda memiliki:

  • Sistem operasi Linux (berjalan pada semua distro)
  • Docker atau Podman terinstall

Membuat Direktori dan Kredensial

Pertama, kita perlu membuat direktori untuk menyimpan repository dan data backup. Sebagai contoh, kita akan buat direktori bernama “data” di dalam folder HOME. Direktori ini nantinya akan kita mount ke dalam container.

$ mkdir ~/data

Restic REST Server memiliki fitur autentikasi default untuk mencegah akses tidak sah. Autentikasi ini menggunakan file .htpasswd yang akan dicari oleh server di direktori penyimpanan snapshot.

Untuk membuat kredensial autentikasi, kita bisa menggunakan utilitas htpasswd. Pada Fedora dan distro berbasis Fedora, utilitas ini tersedia di package httpd-tools. Install dengan perintah berikut:

$ sudo dnf install httpd-tools

Sementara di Debian dan distro berbasis Debian, gunakan perintah ini:

$ sudo apt-get update && sudo apt-get install apache2-utils

Selanjutnya, untuk membuat file .htpasswd, jalankan perintah:

$ htpasswd -B -c ~/data/.htpasswd resticuser

Perintah ini akan membuat konfigurasi untuk mengakses server dengan username “resticuser”. Jika Anda tidak memasukkan password saat diminta, Anda akan diminta memasukkannya secara manual.

Catatan:

  • Opsi -B akan menggunakan algoritma bcrypt untuk hashing password, yang terkenal keamanannya.
  • Direkomendasikan untuk menyimpan password dengan aman. Kehilangan password berarti kehilangan akses ke data backup Anda.

Menjalankan Restic REST Server dengan Docker

Restic REST Server merupakan open source software yang ditulis dengan bahasa Go. Cara termudah untuk deploy Restic REST Server adalah menggunakan Docker (atau Podman). Kita bisa menggunakan image server yang tersedia di DockerHub.

Untuk membuat dan menjalankan container Restic REST Server, gunakan perintah berikut:

$ docker run -p 8000:8000 -v ~/data:/data:z --name restic_rest_server docker.io/restic/rest-server

Mari bahas opsi yang digunakan pada perintah tersebut:

  • Secara default, REST Server di dalam container berjalan pada port 8000. Opsi -p digunakan untuk mapping port 8000 di host ke port 8000 di dalam container. Anda bisa menggunakan port lain, tetapi disarankan untuk menggunakan port privileged (di atas 1024) jika menjalankan Docker tanpa akses root.
  • Opsi -v digunakan untuk melakukan bind mount direktori ~/data di host ke direktori /data di dalam container. Ini penting untuk membuat backup data menjadi persistent.
  • Opsi :z (digunakan jika SELinux aktif) akan mengubah context direktori yang di-mount sehingga bisa diakses dari dalam container.

Inisialisasi Repository

Setelah menjalankan container, kita bisa menginisialisasi repository Restic menggunakan perintah berikut:

restic -r rest:http://resticuser:resticpassword@localhost:8000 init

Jika berjalan dengan lancar, Anda akan melihat pesan bahwa repository berhasil dibuat.

Perhatian: Sangat tidak disarankan untuk mengirimkan kredensial melalui koneksi HTTP biasa. Untuk keamanan lebih baik, disarankan menggunakan koneksi HTTPS dengan sertifikat SSL/TLS.

Menjalankan Server dengan SSL/TLS:

  1. Salin file public_key dan private_key ke direktori ~/data di dalam container.
  2. Jalankan container dengan opsi --tls melalui variable environment OPTIONS:
docker run -p 8000:8000 -v ~/data:/data:z -e OPTIONS="--tls" --name restic_rest_server docker.io/restic/rest-server

Menggunakan Klien Restic:

  1. Saat mengakses repository melalui HTTPS, gunakan opsi --insecure-tls pada klien Restic untuk mengabaikan verifikasi sertifikat self-signed:
restic -r rest:https://resticuser:resticpassword@localhost:8000 --insecure-tls init

Tips Tambahan:

  • Untuk backup yang lebih efisien, gunakan append-only connection dengan mengaktifkan opsi --append-only pada klien Restic.
  • Anda dapat menggunakan Docker Compose untuk deploy dan konfigurasi server dengan lebih mudah.
  • Selalu jaga keamanan password dan private key Anda.

Kesimpulan

Restic REST Server menawarkan solusi backup modern dan aman untuk data Anda. Dengan Docker, deploy dan konfigurasi server menjadi mudah dan cepat. Gunakan tutorial ini sebagai panduan awal untuk memulai backup data Anda dengan Restic REST Server.

Sumber Daya:

  • Restic Documentation: https://restic.net/
  • Docker Installation: https://docs.docker.com/get-docker/
  • Let’s Encrypt: https://letsencrypt.org/getting-started/

Terbaru

  • Fixing Windows Error 0x80070005 Hyper-V Export Access Denied Error the Right Way
  • Fixing Hyper V Export Errors and Building a Better Virtual Machine Setup (error 0x80070002, 0x80070005)
  • Fixing the Dreaded Windows Audio Service Stuck on Stopping Error
  • Windows SIM Error, Unknown error 0xc1420127
  • How I’m Building a Cat Breeding Management App with Python Qt6 + Microsoft Litebox, in 1 Week
  • Why Windows Keeps Nuking Your GPU Drivers (And How to Take Back Control)
  • Copy Prompt: A Modern Men’s Casual Fashion Studio Shoot
  • Why I Finally Ditched Mainstream Windows Cleaners (And Why I Use ‘Kudu’ Instead)
  • AI Made Everything Faster, Including Bad Decisions
  • Raspberry Pi Desktop Available of PC and Mac, Based on Debian 13
  • Why I Stopped Yelling at My PC When Error; Getting Windows 11 Voice Isolation and Access to Actually Work
  • Berobat Kanker ke Malaysia: Berapa Biayanya dan Apa Saja yang Perlu Disiapkan?
  • Stop Sending Every Prompt to the Biggest AI Model You Can Find
  • Stop Building AI Agents from Scratch: My Pick for the Best Native Windows Setup
  • Jev Is Faster and Cheaper, But I Still Recommend Clef. Here’s Why.
  • Weird XCP-NG Bug or Feature? Enable Maintenance Mode = Host Not Enough Memory
  • Vinix OS: Another OS That Want to Beat Linux, Try it!
  • Trying NVX, An Ultra-Light Micro-VM Sandbox from Microsoft
  • Learning NocoDB from Scratch: Creating a Simple Greenhouse App
  • How RHEL 10.2 Quietly Turned Into an Absolute Security Beast
  • Grab Videos from Anywhere with ReClip (Can Running Locally)
  • Jumped onto Ubuntu 26.04 LTS? Here’s How to Add a New User Account
  • Tutorial Cara Install WPS Office di Linux (Alternatif Microsoft Office)
  • Tutorial Upgrade Server Ubuntu 24.04 LTS ke Ubuntu 26.04 LTS dengan Aman
  • Inilah Alasan kenapa akun TikTok dibatasi tidak bisa klaim koin dan masalah pembatasan lainnya?
  • Apa penyebab gagal kirim SMS ke 89888 padahal pulsa masih ada?
  • Mengenal Donghua: Kenapa Animasi dari Tiongkok Ini Lagi Naik Daun Banget
  • OpenAI Bocorin Data Gambar Pengguna? Ini Kabar Terbaru Soal Insiden AI yang Bikin Heboh
  • Kenapa Postingan Instagram Kalian Sepi Like Padahal Followers Udah Banyak? Ini Rahasianya
  • Cara Menambah View Story Instagram Gratis Biar Nggak Sia-sia
  • Canonical: Ubuntu coming soon to Snapdragon X2 Series platforms
  • Finally, wolfSSL adds post-quantum algorithms!
  • How to Run Gemma Embedding Models Using Docker
  • Deploy Nginx Rootful Container with Podman
  • How to Sandboxing Browser on Linux Desktop with Flatpak
  • Trying Nemotron 3.5 Super VL: NVIDIA’s Open Multimodal Model Built for Agents That Actually See and Act
  • Pruna AI Release their Qwen-Image 2.1 LoRA Adapter, 6x Faster than Regular Qwen
  • The Rise and Fall of the Coding Holy Grail: Is Stack Overflow Just AI Fuel Now?
  • Zyphra is The Pioneer, Why Everyone is Suddenly Obsessed with AMD and Not Just Nvidia Anymore
  • Stop Trusting Your Prompts to Save Your Business Data
  • Lagi rame bahas film horor Pirunduk, ternyata ini arti aslinya dalam bahasa Banjar
  • Kabar duka, pengacara senior Kamaruddin Simanjuntak meninggal dunia, sempat berjuang lawan penyakit ginjal
  • Kabar duka dari keluarga Marsha Aruan, Bunda Lisa meninggal dunia setelah sebelumnya sempat dirawat di rumah sakit
  • Lagi rame cari Mod Drag Bike 201m Sunmori, mending pakai yang resmi atau nekat download APK modifikasi?
  • Lagi ramai bahas tugas sekolah soal lingkungan, ternyata tiap profesi punya peran penting buat jaga kota tetap sehat

©2026 emka.web.id | Design: Newspaperly WordPress Theme