Image default
Máy Tính

Tự Đồng Bộ Ghi Chú Obsidian Miễn Phí: Giải Pháp Hoàn Hảo Với CouchDB và LiveSync

Obsidian là một công cụ ghi chú linh hoạt và mạnh mẽ, đã chinh phục rất nhiều người dùng nhờ khả năng tùy biến sâu rộng, sự đơn giản trong cách sử dụng và đặc biệt là quyền kiểm soát dữ liệu tuyệt đối mà nó mang lại. Khác với nhiều ứng dụng ghi chú khác, Obsidian cho phép người dùng tự do lựa chọn cách thức lưu trữ và đồng bộ dữ liệu của mình. Mặc dù Obsidian cung cấp dịch vụ đồng bộ trả phí (Obsidian Sync) tiện lợi, nhưng vẫn có những giải pháp thay thế miễn phí, tự host (tự lưu trữ trên máy chủ cá nhân) với hiệu suất ấn tượng, đôi khi còn vượt trội. Bài viết này sẽ hướng dẫn bạn cách thiết lập một giải pháp đồng bộ ghi chú Obsidian tự động, trực tiếp và hoàn toàn miễn phí bằng cách kết hợp CouchDB – một cơ sở dữ liệu mã nguồn mở – và plugin LiveSync miễn phí của Obsidian.

Để triển khai giải pháp này, bạn cần có khả năng triển khai các container Docker và tốt nhất là có cách truy cập máy chủ tại nhà của mình từ xa (ví dụ qua Tailscale hoặc các hệ thống truy cập từ xa khác). Nếu không có khả năng truy cập từ xa, ghi chú của bạn vẫn sẽ đồng bộ nhưng chỉ khi thiết bị đang ở cùng mạng với máy chủ. So với các phương pháp đồng bộ khác như Git hay Syncthing, giải pháp CouchDB và LiveSync được đánh giá là vượt trội nhờ khả năng đồng bộ tức thì, mang lại trải nghiệm liền mạch trên mọi thiết bị.

Giới Thiệu CouchDB và LiveSync: Bộ Đôi Đồng Bộ Ghi Chú Miễn Phí

CouchDB: Nền tảng NoSQL mạnh mẽ cho ghi chú

CouchDB là một cơ sở dữ liệu NoSQL hướng tài liệu (document-oriented), mã nguồn mở, nổi bật với khả năng lưu trữ mọi phiên bản của tài liệu. Điều này hoàn hảo cho Obsidian, nơi mỗi ghi chú có thể được coi là một tài liệu riêng biệt. Plugin LiveSync sẽ chịu trách nhiệm nhập ghi chú của bạn vào cơ sở dữ liệu CouchDB, đồng thời truy xuất và diễn giải các tài liệu đó để chèn ngược lại vào Obsidian trên các thiết bị khác. Kết quả là một hệ thống đồng bộ mạnh mẽ, hoàn toàn miễn phí và dựa trên phần cứng của chính bạn.

LiveSync: Plugin Obsidian giúp đồng bộ tức thì

LiveSync cung cấp nhiều tùy chọn hữu ích để đồng bộ Obsidian của bạn với các thiết bị khác, bao gồm cả thiết bị di động. Tôi đã thiết lập nó trên điện thoại, máy tính xách tay và máy tính để bàn, và ghi chú xuất hiện tức thì trên tất cả các thiết bị chỉ sau khi tôi thêm một ghi chú trên một trong số chúng. Việc cài đặt LiveSync cực kỳ dễ dàng và đây là một trong những lợi ích tuyệt vời nhất của việc có máy chủ tại nhà. Khi cần ghi chú nhanh khi ra ngoài, tôi có thể sử dụng Obsidian trên điện thoại, và ngay lập tức ghi chú đó sẽ có mặt trên PC hoặc laptop của tôi. Đối với người dùng Obsidian, đây là một plugin không thể thiếu: miễn phí, tự host và nếu bạn sử dụng TrueNAS, bạn có thể dễ dàng tích hợp nó vào hệ thống sao lưu đám mây của mình.

Để triển khai container Docker cho CouchDB, tôi sử dụng Dockge – một công cụ quản lý Docker Compose đơn giản. Tuy nhiên, bất kỳ nền tảng nào cho phép bạn sử dụng tệp Docker Compose đều có thể hoạt động được.

Hướng Dẫn Chi Tiết Cài Đặt CouchDB và Tích Hợp Obsidian

Việc thiết lập này được thực hiện dựa trên hướng dẫn chi tiết của người dùng /u/Timely_Anteater_9330 trên /r/selfhosted.

Chuẩn bị môi trường: Docker và Docker Compose

Đầu tiên, bạn cần đảm bảo rằng bạn đã cài đặt Docker và Docker Compose trên máy chủ của mình. Đây là bước quan trọng nhất vì toàn bộ hệ thống CouchDB sẽ chạy trong một container Docker.

Triển khai CouchDB bằng Docker Compose

Bạn sẽ sử dụng tệp Docker Compose để triển khai dịch vụ CouchDB. Dưới đây là một ví dụ về cấu hình cơ bản, bạn có thể điều chỉnh theo môi trường của mình:

version: '3.8'
services:
  couchdb:
    image: couchdb:latest
    container_name: obsidian-couchdb
    restart: always
    ports:
      - "5984:5984"
    environment:
      - COUCHDB_USER=admin
      - COUCHDB_PASSWORD=your_secure_password # Thay đổi mật khẩu mạnh
    volumes:
      - /mnt/Storage/configs/CouchDB-Obsidian/data:/opt/couchdb/data
      - /mnt/Storage/configs/CouchDB-Obsidian/etc/local.d:/opt/couchdb/etc/local.d
    user: "1000:1000" # PUID và GID của người dùng chạy Docker
  • Cấu hình Docker Compose:
    • Nếu bạn không sử dụng Unraid, bạn có thể xóa phần “labels” (nếu có) khỏi tệp compose.
    • Đối với TrueNAS với Dockge, tôi đã tạo một dataset riêng để lưu trữ các tệp của CouchDB và sửa đổi phần volumes để trỏ đến các đường dẫn này. Ví dụ:
      • /mnt/Storage/configs/CouchDB-Obsidian/data:/opt/couchdb/data
      • /mnt/Storage/configs/CouchDB-Obsidian/etc/local.d:/opt/couchdb/etc/local.d
    • Tôi cũng đặt PUIDGID thành 1000 và 1000 để đảm bảo quyền truy cập đúng đắn.
  • Sau khi hoàn tất chỉnh sửa tệp Docker Compose, lưu nó lại và chạy lệnh docker-compose up -d trong thư mục chứa tệp để khởi động container.

Truy cập giao diện CouchDB và cài đặt ban đầu

Khi container đã chạy, bạn có thể truy cập CouchDB bằng cách mở trình duyệt và điều hướng đến http://<IP_cua_server_cua_ban>:5984/_utils. Bạn sẽ đăng nhập bằng tên người dùng và mật khẩu đã khai báo trong tệp Docker Compose.

Trang chủ giao diện quản trị CouchDB sau khi đăng nhậpTrang chủ giao diện quản trị CouchDB sau khi đăng nhập

Trang của bạn sẽ trông tương tự hình ảnh trên sau khi đăng nhập.
Tiếp theo, hãy vào thanh bên trái và nhấp vào Setup. Chọn Configure as single node và nhập lại thông tin đăng nhập (tên người dùng và mật khẩu) mà bạn đã dùng trong tệp Docker Compose. Sau đó, bạn có thể xác minh cài đặt của mình, và nếu mọi thứ đều đúng, bạn sẽ nhận được thông báo thành công.

Tạo database và cấu hình cho LiveSync

  • Tạo database riêng cho người dùng: Tạo một database mới. Bạn nên tạo một database riêng cho mỗi người dùng nếu có nhiều người dùng. Ví dụ, tôi đặt tên là “obsidiandb”. Đảm bảo tùy chọn “partitioning” được đặt là “non-partitioned”.
  • Thiết lập các tùy chọn cấu hình trong CouchDB: Đây là bước quan trọng để CouchDB hoạt động tương thích với LiveSync. Bạn cần thêm các cài đặt sau bằng cách đi tới Configuration ở menu bên trái và nhấp vào nút Add option cho từng cài đặt. Các cài đặt này được lấy từ script couchdb-init.sh trên GitHub của LiveSync:
    • Section: chttpd, Name: require_valid_user, Value: true
    • Section: chttpd_auth, Name: require_valid_user, Value: true
    • Section: httpd, Name: WWW-Authenticate, Value: Basic realm="couchdb"
    • Section: httpd, Name: enable_cors, Value: true
    • Section: chttpd, Name: enable_cors, Value: true
    • Section: chttpd, Name: max_http_request_size, Value: 4294967296
    • Section: couchdb, Name: max_document_size, Value: 50000000
    • Section: cors, Name: credentials, Value: true
    • Section: cors, Name: origins, Value: app://obsidian.md,capacitor://localhost,http://localhost

Cấu hình CouchDB với các tùy chọn cho LiveSync trong phần ConfigurationCấu hình CouchDB với các tùy chọn cho LiveSync trong phần Configuration

Lưu ý rằng trong trường “origins” cho cors, bạn cũng nên thêm bất kỳ địa chỉ IP hoặc tên miền nào khác mà bạn định truy cập từ đó. Mặc dù không được khuyến nghị, bạn cũng có thể vào phần CORS ở bên trái phần cấu hình và tắt hoàn toàn tính năng này, nhưng đây là một tính năng bảo mật quan trọng nên được giữ lại.

Cấu hình plugin LiveSync trong Obsidian

Cuối cùng, cài đặt plugin LiveSync từ phần plugin cộng đồng của Obsidian và bật nó lên. Sau đó, bạn có thể cấu hình. Mặc dù có tùy chọn Connect with setup URI, nhưng phương pháp này có thể không hoạt động. Tôi khuyên bạn nên vào tab thứ tư (với biểu tượng vệ tinh nhỏ, như hình trên) và cấu hình thủ công.

Thiết lập thủ công plugin LiveSync trong Obsidian, tab Satellite IconThiết lập thủ công plugin LiveSync trong Obsidian, tab Satellite Icon

Đảm bảo chọn CouchDB, và sử dụng cùng tên người dùng và mật khẩu mà bạn đã dùng khi cấu hình máy chủ. Cuối cùng, tên database phải khớp với tên database trong CouchDB. Nhấp vào Test, và nó sẽ hoạt động! Bạn cũng có thể nhấp vào Check để đảm bảo mọi thứ đã được cấu hình đúng, và nó có thể đưa ra một số gợi ý để sửa lỗi. Bạn cũng có thể cuộn xuống và bật mã hóa đầu cuối (end-to-end encryption) bằng một cụm mật khẩu, điều mà tôi đã kích hoạt trên máy chủ của mình.

Cuối cùng, chuyển sang tab tiếp theo và thay đổi chế độ đồng bộ thành LiveSync. Mọi thứ bây giờ sẽ hoạt động, và khi bạn gõ, dữ liệu của bạn sẽ được đồng bộ lên máy chủ CouchDB để có thể chia sẻ với các thiết bị khác cũng có quyền truy cập vào database của bạn. Tôi chỉ gặp một vấn đề duy nhất mà tôi không thể tìm ra nguyên nhân, nhưng giải pháp chỉ đơn giản là khởi động lại container CouchDB. Tôi đã sử dụng nó trong nhiều tuần và điều đó chỉ xảy ra một lần, vì vậy tôi khá hài lòng với hiệu suất và sự ổn định của thiết lập cụ thể này.

Vì Sao Nên Chọn Giải Pháp Đồng Bộ Tự Host Này Cho Obsidian?

Sự linh hoạt và kiểm soát dữ liệu

Có nhiều cách để đồng bộ ghi chú Obsidian của bạn, và giải pháp này chỉ là một trong số đó. Bạn có thể sử dụng Git để sao lưu ghi chú vào kho riêng, Syncthing để đồng bộ các thư mục, hoặc thậm chí là các dịch vụ đám mây đơn giản hơn như Google Drive. Tuy nhiên, tôi đặc biệt thích tính năng đồng bộ trực tiếp (live sync) của công cụ này, nơi tôi có thể ghi chú trên điện thoại và ngay lập tức truy cập được trên laptop hoặc PC của mình. Mặc dù có thể mất nhiều thời gian thiết lập hơn so với một số người mong muốn, nhưng thành quả nhận được hoàn toàn xứng đáng với thời gian bỏ ra.

Obsidian trên nhiều thiết bị: Laptop, điện thoại và máy tính bàn đồng bộ ghi chúObsidian trên nhiều thiết bị: Laptop, điện thoại và máy tính bàn đồng bộ ghi chú

Đây cũng là lý do tại sao tôi yêu Obsidian. Mức độ kiểm soát được cấp cho người dùng là vô cùng ấn tượng. Bạn có thể làm bất cứ điều gì bạn muốn; không có gì ngăn cản bạn thiết lập một giải pháp thay thế tiện lợi cho một trong số ít dịch vụ trả phí của nó, và đó là một động thái tuyệt vời để phục vụ người dùng. Obsidian là một trong những ứng dụng ghi chú tốt nhất, và giải pháp đồng bộ tự host này đã làm cho trải nghiệm sử dụng trở nên tuyệt vời hơn nữa.

Lời khuyên: Nếu bạn là người yêu công nghệ, sở hữu một máy chủ tại nhà và muốn có toàn quyền kiểm soát dữ liệu cá nhân của mình, việc tự host giải pháp đồng bộ cho Obsidian là một lựa chọn không thể bỏ qua. Nó không chỉ giúp bạn tiết kiệm chi phí mà còn mang lại sự an tâm về bảo mật và khả năng tùy chỉnh vượt trội.

Hãy chia sẻ kinh nghiệm của bạn về việc đồng bộ ghi chú Obsidian trong phần bình luận dưới đây!

Related posts

Character Map trên Windows 11: Đã đến lúc khai tử tính năng lỗi thời này?

Administrator

Windows 10 Hết Hỗ Trợ: Linux – Giải Pháp Kéo Dài Tuổi Thọ PC Cũ

Administrator

Đánh giá Craft trên Windows: Ứng dụng ghi chú “quốc dân” Mac có xứng đáng?

Administrator