Vượt xa đống ghi chú lộn xộn
Đa số chúng ta bắt đầu ghi chú bằng các ứng dụng đơn giản như Apple Notes hay Google Keep. Mọi thứ hoạt động hoàn hảo cho đến khi bạn có khoảng 500 ghi chú. Đột nhiên, việc tìm kiếm một biên bản cuộc họp từ sáu tháng trước trở nên mệt mỏi. Bạn có thể thử dùng Notion hoặc Obsidian. Notion rất mạnh mẽ nhưng dữ liệu bị khóa trong đám mây riêng của họ và thường cảm thấy chậm chạp trên các phần cứng cũ. Obsidian thì tuyệt vời, nhưng việc đồng bộ hóa giữa điện thoại và máy tính công ty thường yêu cầu trả phí hoặc các giải pháp kỹ thuật phức tạp.
Vấn đề thực sự không nằm ở chỗ bạn viết ở đâu; mà là cách dữ liệu được lưu trữ. Hầu hết các ghi chú là “văn bản tĩnh” — những con chữ nằm im trên trang giấy. Chúng ta cần ghi chú hoạt động như “dữ liệu động”. Hãy tưởng tượng một thế giới nơi ghi chú của bạn tự động xây dựng danh sách công việc hoặc bảng điều khiển dự án. Đây chính là cốt lõi của một ‘Digital Garden’ (Khu vườn kỹ thuật số). Đó là một không gian nơi thông tin không chỉ được lưu trữ; nó được liên kết và hiển thị thông qua các truy vấn tự động.
SilverBullet lấp đầy khoảng trống này. Đây là một nền tảng viết mã nguồn mở, có thể mở rộng, chạy ngay trên trình duyệt trong khi vẫn lưu giữ mọi thứ dưới dạng các tệp Markdown thuần túy. Nó coi các ghi chú của bạn như những đối tượng (objects). Điều này có nghĩa là bạn có thể truy vấn nội dung bằng cú pháp giống như SQL. Tôi đã sử dụng hệ thống này trong nhiều tháng để quản lý tài liệu kỹ thuật, và nó vẫn hoạt động cực kỳ mượt mà ngay cả với hàng nghìn tệp tin.
Tại sao nên chọn SilverBullet?
SilverBullet không coi ghi chú của bạn là các tài liệu riêng biệt. Thay vào đó, nó hoạt động dựa trên khái niệm gọi là “Spaces” (Không gian). Một Space thực chất chỉ là một thư mục chứa các tệp Markdown, nhưng SilverBullet sẽ lập chỉ mục (index) chúng ở chế độ nền. Điều này mở ra những tính năng mà hầu hết các trình chỉnh sửa khác không thể xử lý nếu thiếu hàng tá plugin không ổn định:
- Ngôn ngữ truy vấn trực tiếp (Live Query Language): Bạn có thể viết một đoạn mã nhỏ để tìm mọi ghi chú được gắn thẻ #bug với trạng thái “open” và hiển thị chúng trong một bảng gọn gàng.
- Dựa trên trình duyệt & Linh hoạt: Nó chạy trong một Docker container. Bạn có thể truy cập toàn bộ kho lưu trữ của mình từ máy tính công ty, PC ở nhà hoặc máy tính thư viện mà không cần cài đặt gì.
- Hỗ trợ di động: Nó hoạt động như một Progressive Web App (PWA). Bạn có thể “cài đặt” nó trên iPhone hoặc Android, và nó hoạt động ngoại tuyến giống như một ứng dụng gốc.
- Tốn ít tài nguyên: Image Docker chỉ nặng khoảng 150MB và thường tiêu tốn chưa đến 100MB RAM, cực kỳ phù hợp cho một VPS giá rẻ hoặc Raspberry Pi.
Cài đặt: Triển khai với Docker Compose
Bạn sẽ cần một máy chủ hoặc máy home lab đã cài đặt sẵn Docker. Chúng ta sẽ thiết lập một volume để dữ liệu không bị mất khi container khởi động lại.
1. Tổ chức thư mục
Hãy bắt đầu bằng việc tạo một thư mục riêng cho các ghi chú. Việc này giúp máy chủ của bạn luôn gọn gàng.
mkdir -p ~/homelab/silverbullet/space
cd ~/homelab/silverbullet
2. Thiết lập Docker Compose
Tạo một tệp docker-compose.yml. Chúng ta sẽ sử dụng image chính thức và ánh xạ một cổng tùy chỉnh để tránh xung đột.
services:
silverbullet:
image: zefhemel/silverbullet
container_name: silverbullet
restart: unless-stopped
environment:
- SB_AUTH=admin:mat_khau_bao_mat_cua_ban
volumes:
- ./space:/space
ports:
- "3005:3000"
Dưới đây là ý nghĩa của các thiết lập này:
- SB_AUTH: Kích hoạt bảo vệ đăng nhập cơ bản. Hãy thay đổi
admin:mat_khau_bao_mat_cua_banbằng thông tin đăng nhập của riêng bạn ngay lập tức. - Volumes: Liên kết thư mục
./spacetrên đĩa cứng với container. Các tệp Markdown của bạn sẽ nằm ở đây. - Ports: Chúng ta sử dụng cổng
3005vì cổng3000thường bị chiếm dụng bởi các công cụ phát triển khác.
3. Khởi chạy
Khởi chạy khu vườn mới của bạn chỉ với một lệnh:
docker compose up -d
Xác nhận mọi thứ đang chạy bằng cách kiểm tra trạng thái:
docker ps
Cấu hình: Những ghi chú biết tư duy
Đăng nhập tại http://your-ip:3005. Bạn sẽ thấy một giao diện tối giản. Phép màu thực sự xảy ra khi bạn bắt đầu sử dụng Objects (Đối tượng) và Queries (Truy vấn).
Thêm Metadata
Thêm YAML frontmatter vào đầu bất kỳ ghi chú nào. Việc này biến một tệp văn bản thuần túy thành một điểm dữ liệu có thể tìm kiếm được.
---
tags: project
status: active
priority: 1
owner: "Kỹ thuật"
---
# Di chuyển Cơ sở dữ liệu
Ghi chú cho việc nâng cấp cơ sở dữ liệu quý 3.
Sử dụng Live Queries
Ngừng việc cập nhật các trang mục lục một cách thủ công. Nếu bạn có 20 ghi chú dự án khác nhau, chỉ cần chèn một khối truy vấn vào trang chủ của mình:
<!-- #query page where tags = "project" and status = "active" render [[Library/Core/Query/Table]] -->
| Tên | Ưu tiên | Chủ sở hữu |
| ---- | -------- | ----- |
| [[Di chuyển Cơ sở dữ liệu]] | 1 | Kỹ thuật |
<!-- /query -->
Ngay khi bạn tạo một ghi chú mới với thẻ “project”, nó sẽ tự động xuất hiện trong bảng này. Bạn không còn quản lý các tệp tin đơn thuần nữa; bạn đang quản lý một cơ sở dữ liệu sống.
Bảo trì và Truy cập từ xa
Một kho kiến thức chỉ hữu ích khi nó an toàn và có thể truy cập được. Vì SilverBullet sử dụng các tệp tin phẳng (flat files), chiến lược sao lưu của bạn cực kỳ đơn giản.
Theo dõi Log
Nếu một truy vấn hoạt động lạ lùng, hãy kiểm tra log của container để tìm lỗi. Đây thường là nơi bạn tìm thấy các vấn đề về quyền truy cập hoặc lỗi cú pháp.
docker logs -f silverbullet
Sao lưu tin cậy
Bạn không cần các lệnh xuất cơ sở dữ liệu phức tạp. Vì mọi thứ đều là tệp .md, bạn chỉ cần nén thư mục hoặc đồng bộ nó với một kho lưu trữ GitHub riêng tư. Một kho lưu trữ 1.000 ghi chú thường nhẹ hơn 20MB, giúp việc sao lưu diễn ra gần như tức thì.
# Sao lưu thủ công nhanh chóng
tar -czf sb_backup_$(date +%F).tar.gz ~/homelab/silverbullet/space
Truy cập khu vườn từ bất kỳ đâu
Để sử dụng “Bộ não thứ hai” khi đang di chuyển, hãy sử dụng reverse proxy như Nginx Proxy Manager hoặc một công cụ như Tailscale. Nếu bạn chọn phương án proxy, hãy đảm bảo đã bật WebSockets. SilverBullet sử dụng chúng để giữ cho trình duyệt và máy chủ đồng bộ hoàn hảo với nhau.
Bằng cách chạy SilverBullet trên Docker, bạn sẽ thoát khỏi cách ghi chú thụ động. Tài liệu của bạn trở thành một tài sản có thể truy vấn và phát triển cùng với công việc của bạn. Đây là một cách ổn định, nhanh chóng và riêng tư để đảm bảo kiến thức của bạn luôn hữu ích trong nhiều năm tới.

