SSD Nodes Learn Hosting plans →
Hướng dẫn Matt ConnorBởi Matt Connor · Cập nhật ngày 2026-08-07

So sánh các lựa chọn Notion tự host đáng dùng

So sánh AppFlowy, Outline, Docmost, BookStack và Obsidian về database, cộng tác, mobile và độ nặng khi tự host, để bạn chọn đúng công cụ.

Câu trả lời ngắn gọn

Các lựa chọn thay thế Notion tự host được chia thành 3 nhóm. Việc chọn công cụ phù hợp chủ yếu phụ thuộc vào phần nào của Notion mà bạn thực sự sử dụng. Nếu muốn trải nghiệm giống Notion, với các page lồng trong page và database view, hãy chạy AppFlowy. Nếu muốn một team wiki nhanh, có khả năng tìm kiếm tốt, hãy chạy Outline. Nếu muốn đi từ một server mới cài đến một workspace hoạt động được trong thời gian ngắn nhất, hãy chạy Docmost.

Trong quá trình tìm kiếm này, thường xuyên xuất hiện thêm 2 công cụ, và cả hai đều là lựa chọn phù hợp cho một nhu cầu khác. Chọn BookStack khi điều bạn thực sự cần là tài liệu có cấu trúc. Chọn Obsidian khi workspace chỉ có đúng 1 thành viên: bạn.

Cách so sánh

Đây là phép so sánh các khả năng được ghi trong tài liệu, dựa trên tài liệu chính thức của từng dự án, mẫu environment được công bố và file compose công khai của dự án, được kiểm tra vào tháng 7 năm 2026. Đây không phải là báo cáo về một năm vận hành thực tế của từng dự án. Khi một giới hạn được nêu bên dưới, giới hạn đó lấy từ tài liệu hoặc repository của chính dự án, và hướng dẫn sẽ chỉ rõ nguồn nào. Điều này quan trọng vì phần lớn các bài tổng hợp kiểu này thường âm thầm tự suy đoán những phần họ chưa kiểm tra.

Bốn tiêu chí bên dưới là những điều người dùng thực sự quan tâm, theo đúng thứ tự họ thường hỏi: database và chế độ xem dạng bảng, cộng tác thời gian thực, truy cập trên mobile và mức độ nặng khi self-host.

AppFlowy: gần Notion nhất, nhưng có giới hạn về giấy phép

AppFlowy là dự án duy nhất ở đây thực sự sao chép mô hình dữ liệu của Notion. Ứng dụng có page, board, grid và các chế độ xem lịch. Ứng dụng desktop và mobile là ứng dụng native. Thiết kế local-first giúp ứng dụng vẫn hoạt động khi server không hoạt động.

Tự host chỉ cần clone git và một file compose:

git clone https://github.com/AppFlowy-IO/AppFlowy-Cloud
cd AppFlowy-Cloud
cp deploy.env .env
docker compose up -d

Hãy chỉnh sửa .env trước khi chạy lệnh cuối cùng. FQDNSCHEME cấu hình địa chỉ public. GOTRUE_ADMIN_EMAILGOTRUE_ADMIN_PASSWORD cấu hình tài khoản admin đầu tiên. Nếu giữ nguyên GOTRUE_ADMIN_PASSWORD=password, bạn sẽ triển khai một server public với thông tin đăng nhập admin dễ đoán.

Đây là điểm cần lưu ý, đồng thời là thông tin quan trọng nhất trong bài viết này. AppFlowy Cloud đã chuyển sang mô hình open-core. README của AppFlowy Cloud nêu rằng gói Free tự host cung cấp “một user seat (mỗi instance)” và tối đa 3 guest editor trên các page bạn chia sẻ. Vì vậy, phiên bản mà phần lớn mọi người gọi là “Notion tự host” thực chất là một workspace cá nhân có số lượng guest hạn chế ở gói Free. Các gói tự host trả phí sẽ bỏ giới hạn này. Hãy kiểm tra các gói hiện tại trước khi lên kế hoạch triển khai cho 10 người trên nền tảng này.

Tổng quan: lựa chọn tìm kiếm tốt nhất nếu bạn đã có single sign-on

Outline mang lại trải nghiệm viết và đọc thuần túy tốt nhất trong nhóm. Search nhanh và thực sự tìm thấy nội dung cần tìm. Editor gọn gàng. Cấu trúc của nó là các collection và document lồng nhau, không phải database engine. Các team viết nhiều thường tiếp tục dùng Outline.

Outline cần PostgreSQL và Redis. App lắng nghe trên port 3000. Bạn cần 2 secret. File môi trường mẫu cho biết chính xác cách tạo chúng:

openssl rand -hex 32   # SECRET_KEY
openssl rand -hex 32   # UTILS_SECRET

Sau đó đặt URL thành địa chỉ HTTPS public của bạn, DATABASE_URLREDIS_URL. Điểm thường khiến người dùng bất ngờ là authentication. Outline không có chức năng đăng nhập bằng username và password tích hợp sẵn. .env.sample của Outline nói rằng trong các thông tin xác thực đăng nhập của bên thứ ba, "ít nhất MỘT trong các thông tin này là bắt buộc để cài đặt hoạt động; nếu không, bạn sẽ không có tùy chọn đăng nhập nào". Các tùy chọn được hỗ trợ gồm Google, Microsoft Entra, Slack, Discord và một provider OpenID Connect (OIDC) generic.

Đây là một chi phí thực tế. Nếu bạn chưa chạy identity provider, self-host Outline đồng nghĩa với việc phải self-host thêm một service trước khi Outline có thể sử dụng được. Nếu bạn đã chạy một identity provider, đây lại là một ưu điểm, và Outline có thể là lựa chọn phù hợp với bạn.

Docmost: lựa chọn triển khai nhanh nhất

Docmost là sản phẩm mới nhất trong ba sản phẩm và cần ít công sức nhất để chạy. Docmost hỗ trợ chỉnh sửa cộng tác theo thời gian thực, cây trang, space, comment, cùng tài khoản email và password tích hợp sẵn. Vì vậy, bạn không cần giải quyết identity provider trước.

Trang cài đặt chính thức đưa ra 4 lệnh:

mkdir docmost
cd docmost
curl -O https://raw.githubusercontent.com/docmost/docmost/main/docker-compose.yml
openssl rand -hex 32

Đặt chuỗi hex đó vào APP_SECRET trong file compose, đặt APP_URL thành địa chỉ bạn sẽ thực sự dùng, thay STRONG_DB_PASSWORD ở cả hai vị trí xuất hiện, rồi khởi động:

docker compose up -d
docker compose ps

Mọi service đều phải đọc được running. Mở địa chỉ đó trong trình duyệt. Bạn sẽ thấy trang thiết lập Docmost, nơi tạo workspace đầu tiên và user admin đầu tiên. Stack gồm Docmost, PostgreSQL và Redis. Tài liệu yêu cầu tối thiểu 2 vCPU và 4 GB RAM.

Có một cảnh báo cần nhắc lại từ tài liệu: editor sử dụng WebSockets. Nếu reverse proxy không chuyển tiếp các header nâng cấp WebSocket, trang vẫn tải được nhưng các chỉnh sửa từ trình duyệt thứ hai sẽ không bao giờ xuất hiện, và cả hai user đều không thấy lỗi. Nếu bạn terminate TLS ở phía trước Docmost, reverse proxy Traefik xử lý nhiều app trên cùng một máy sẽ xử lý việc nâng cấp này đúng theo mặc định.

BookStack: khi bạn cần tài liệu, không phải workspace

BookStack sắp xếp nội dung thành các kệ, sách, chương và trang. Hệ thống phân cấp cố định đó chính là mục đích của nó. Không ai phải tự nghĩ ra cấu trúc, và một năm sau wiki vẫn dễ điều hướng. BookStack có hệ thống phân quyền mạnh, trình soạn thảo tốt, và đơn giản theo đúng cách mà tài liệu hạ tầng nên đơn giản.

BookStack không có database view hoặc tính năng chỉnh sửa theo block, nên không phải là sản phẩm thay thế Notion theo cách của ba lựa chọn đầu tiên. BookStack yêu cầu PHP 8.2 trở lên và MySQL 8.0 hoặc MariaDB 10.6 trở lên. Dự án không phát hành Docker image riêng mà trỏ đến các image do cộng đồng duy trì; image được dùng nhiều nhất là image của LinuxServer.io:

docker pull lscr.io/linuxserver/bookstack:latest

Vì image do cộng đồng duy trì, hãy pin một phiên bản thay vì theo dõi latest, đồng thời đọc tài liệu riêng của image đó để biết các biến bắt buộc.

Obsidian: không phải ứng dụng server, và đó chính là điểm mạnh

Obsidian lưu các file Markdown thuần trong một thư mục trên máy của bạn. Không có server, nên không có gì phải self-host và cũng không có gì có thể hỏng lúc 3 giờ sáng. Với một người viết ghi chú, Obsidian nhanh hơn mọi lựa chọn ở trên và bảo đảm hơn rằng các file của bạn vẫn dùng được sau khi phần mềm không còn được phát triển.

Phần bạn cần tự host là việc đồng bộ. Các lựa chọn gồm dịch vụ sync chính chủ có trả phí, một instance CouchDB chạy plugin LiveSync của cộng đồng, hoặc đồng bộ file thuần như Syncthing hay một WebDAV share. Obsidian không hỗ trợ chỉnh sửa thời gian thực cho nhiều người, nên nếu hai người cần làm việc trên cùng một trang cùng lúc thì Obsidian không phải công cụ phù hợp.

Cơ sở dữ liệu và bảng: điểm mà hầu hết lựa chọn thay thế không đáp ứng

Đây là tiêu chí quyết định việc tìm kiếm. Người dùng thường không chọn được sản phẩm thay thế Notion vì thiếu cơ sở dữ liệu: một bảng có các trường được định kiểu, nhiều chế độ xem trên cùng các hàng và bộ lọc.

AppFlowy có tính năng này, với chế độ xem dạng lưới, bảng và lịch. Outline, Docmost và BookStack thì không. Các sản phẩm này có tài liệu chứa được những bảng đơn giản, nhưng đó không phải là cùng một tính năng, vì không thể truy vấn các hàng và không có chế độ xem thứ hai trên chúng. Nếu cơ sở dữ liệu Notion đang lưu trữ công việc của bạn, AppFlowy là lựa chọn thực sự duy nhất trong nhóm này. Trước khi quyết định, bạn nên kiểm tra giới hạn số seat của gói miễn phí có phù hợp với quy mô nhóm hay không.

Tài nguyên hosting: mỗi stack thực sự chạy những gì

Docmost và Outline đều chạy 3 container: app, PostgreSQL và Redis. Cả hai đều hoạt động ổn định trên một VPS nhỏ. BookStack chạy app cùng với cơ sở dữ liệu MySQL hoặc MariaDB, nên là stack nhẹ nhất trong 4 lựa chọn.

AppFlowy Cloud nặng hơn đáng kể. File compose được công bố sẽ khởi động nginx, MinIO để lưu trữ object, PostgreSQL với extension pgvector, Redis, GoTrue để xác thực, chính service AppFlowy Cloud, frontend quản trị, worker, service tìm kiếm, service AI và web app. Đây là một hệ thống gồm cơ sở dữ liệu thực, object store và khoảng 10 container. Hãy phân bổ đủ memory, đồng thời đọc cách các service, volume và network của Docker Compose kết hợp với nhau trước khi bắt đầu chỉnh sửa file đó.

Nên chọn công cụ nào

Một người cần ghi chú và soạn thảo, không muốn quản lý server: Obsidian kèm giải pháp sync riêng.

Một người hoặc nhóm rất nhỏ cần database theo kiểu Notion: AppFlowy, nhưng trước tiên phải kiểm tra giới hạn số seat của gói miễn phí.

Một team viết nhiều và đã có Google Workspace, Entra hoặc một nhà cung cấp OIDC: Outline.

Một team cần workspace dùng chung ngay trong chiều nay và không có identity provider: Docmost.

Tài liệu hạ tầng hoặc tài liệu sản phẩm có nhiều người đọc nhưng ít người chỉnh sửa: BookStack.

Điều gì bị lỗi sau khi cài đặt

Ba lỗi chiếm phần lớn các thread hỗ trợ của những dự án này. Cả ba đều do cấu hình, không phải do bug.

Lỗi đầu tiên là URL của app. Docmost APP_URL và Outline URL phải dùng đúng địa chỉ mà browser thực sự truy cập, bao gồm cả https://. Nếu đặt thành localhost rồi đưa app ra sau một domain, các redirect đăng nhập sẽ đưa người dùng đến một máy không thuộc về họ.

Lỗi thứ hai là WebSockets, như đã mô tả ở trên. Tính năng chỉnh sửa cộng tác âm thầm ngừng hoạt động trong khi app vẫn có vẻ khỏe mạnh.

Lỗi thứ ba là backup. Tất cả các app này lưu nội dung trong PostgreSQL hoặc MySQL, không phải trong các file bạn có thể nhìn thấy. Vì vậy, sao chép thư mục volume của một database đang chạy không phải là backup đáng tin cậy. Hãy dump database theo lịch và lưu file dump bên ngoài server, giống như backup được mã hóa theo lịch bằng restic xử lý mọi stateful service khác. Khi chọn những gì sẽ chạy cùng app, danh sách rộng hơn các app đáng tự host trong năm nay là một cách kiểm tra thực tế hữu ích để xác định một server nên gánh bao nhiêu dịch vụ.

FAQ

Lựa chọn thay thế Notion nào có thể tự host và giống Notion nhất?

AppFlowy. Đây là dự án duy nhất trong số này có khái niệm database thực sự, tức là các trường có kiểu dữ liệu rõ ràng cùng các view dạng grid, board và calendar trên cùng một tập bản ghi. Outline, Docmost và BookStack là các công cụ tài liệu có cấu trúc phân cấp theo page. Chúng rất phù hợp để quản lý tài liệu, nhưng không thay thế được database của Notion.

Tôi có thể tự host chính Notion không?

Không. Notion là sản phẩm thương mại được host tập trung, không có bản self-hosted và cũng không công bố thành phần server. Mỗi lựa chọn trong hướng dẫn này là một dự án open source riêng, chỉ cung cấp một phần chức năng của Notion. Việc migration là export rồi import, không phải đưa nguyên phần mềm hiện tại sang hệ thống mới.

Các công cụ này có mobile app không?

AppFlowy phát hành app native cho iOS và Android. Các app này kết nối đến server của bạn sau khi bạn trỏ chúng đến instance của mình. Outline và Docmost được sử dụng qua mobile browser. Cả hai đều dùng được theo cách này để đọc và chỉnh sửa nhẹ. Obsidian có mobile app đầy đủ, nhưng bạn phải tự cung cấp cơ chế sync. BookStack là web application responsive và không có mobile app chính thức.

VPS cần bao nhiêu RAM?

Docmost ghi rõ mức tối thiểu là 2 vCPU và 4 GB RAM. Outline và BookStack cũng yêu cầu mức tương tự khi dùng cho một team nhỏ. AppFlowy Cloud là ngoại lệ. File compose của nó khởi động khoảng 10 service, bao gồm PostgreSQL với pgvector và object storage MinIO. Vì vậy, hãy dự trù nhiều RAM và disk hơn đáng kể cho hệ thống này.

Outline có dùng được mà không cần đăng nhập bằng Google hoặc Microsoft không?

Có, nhưng vẫn cần một identity provider. Outline hỗ trợ generic OpenID Connect provider bên cạnh các provider được nêu tên, nên bạn có thể dùng OIDC server tự host. Outline không hỗ trợ username và password local đơn thuần. File environment sample của Outline cũng nêu rõ phải cấu hình ít nhất một third-party provider; nếu không, installation sẽ không có tùy chọn đăng nhập.

#notion#appflowy#outline#docmost#tự lưu trữ#notes