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ần so sánh các khả năng được tài liệu hóa, dựa trên tài liệu chính thức của từng project, file mẫu environment được công bố và file compose công khai của project đó. Nội dung được kiểm tra vào tháng 7 năm 2026. Các nguồn của Docmost, AppFlowy, Outline và BookStack, cùng các tùy chọn sync của Obsidian, được kiểm tra lại vào tháng 10 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ế với từng project. 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 project, và bài viết sẽ chỉ rõ nguồn. Đ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ự bịa những phần mà họ chưa kiểm tra.
4 tiêu chí dưới đây là những điều người dùng thực sự hỏi, theo đúng thứ tự họ thường hỏi: database và table view, cộng tác real-time, truy cập trên mobile và mức độ nặng khi self-host.
AppFlowy: gần với Notion nhất, nhưng có vấn đề về license
AppFlowy là project duy nhất ở đây thực sự sao chép data model của Notion. Pages, boards, grids và calendar views đều có, các app desktop và mobile là app native, còn thiết kế local-first giúp app tiếp tục hoạt động khi server không hoạt động.
Self-hosting chỉ cần git clone và một compose file:
git clone https://github.com/AppFlowy-IO/AppFlowy-SelfHost-Commercial
cd AppFlowy-SelfHost-Commercial
cp deploy.env .env
docker compose up -dRepository đã thay đổi trong 2026. Repository AppFlowy-Cloud cũ được archive vào September 11, 2026, và README hiện yêu cầu dùng AppFlowy-SelfHost-Commercial cho mọi deployment và upgrade self-hosted. Các guide vẫn clone AppFlowy-Cloud đang build từ code mà AppFlowy không còn maintain.
Hãy edit .env trước command cuối đó. FQDN và SCHEME đặt public address, còn GOTRUE_ADMIN_EMAIL cùng GOTRUE_ADMIN_PASSWORD đặt admin account đầu tiên. Nếu giữ nguyên GOTRUE_ADMIN_PASSWORD=password, bạn sẽ đưa lên một public server có admin login dễ đoán.
Đây là điểm cần lưu ý, và cũng là thông tin quan trọng nhất trong bài này. Server self-hosted của AppFlowy đã chuyển sang mô hình open-core, còn repository AppFlowy-SelfHost-Commercial được phân phối theo AppFlowy Self-Hosted Commercial License, không phải open source license. README nêu rằng Free tier self-hosted cung cấp "One User Seat (per instance)" cùng tối đa ba guest editor trên các page bạn share. Vì vậy, phiên bản mà hầu hết mọi người gọi là "self-hosted Notion" thực chất chỉ là một workspace cá nhân có số lượng guest giới hạn ở free tier. Không phải paid tier nào cũng tăng giới hạn này: bảng giá self-hosted của AppFlowy cũng ghi một seat cho paid One plan, tối đa 1,000 seat trên Team và không giới hạn trên Enterprise. Hãy kiểm tra các tier hiện tại trước khi lên kế hoạch triển khai cho mười người.
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_SECRETSau đó đặt URL thành địa chỉ HTTPS public của bạn, DATABASE_URL và REDIS_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: dễ triển khai 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, nên bạn không cần giải quyết identity provider trước.
Trang cài đặt chính thức bắt đầu bằng các lệnh sau:
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ự 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 psMọi service phải đọc được running. Mở địa chỉ đó trong browser. Bạn sẽ thấy trang thiết lập Docmost, tại đó tạo workspace đầu tiên và user admin đầu tiên. Stack gồm Docmost, PostgreSQL và Redis. Tài liệu cài đặt không đặt mức CPU hoặc RAM tối thiểu. Điều kiện tiên quyết duy nhất được liệt kê là Docker.
Một cảnh báo đáng 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 thay đổi từ browser thứ hai không bao giờ xuất hiện và cả hai user đều không thấy lỗi. Nếu bạn thực hiện TLS termination ở 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 đú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:latestVì 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 server app, và đó chính là mục đích
Obsidian lưu các file Markdown thuần trong một folder trên máy của bạn. Bản thân app không cần server, nên không có gì bị hỏng lúc 3am trừ khi bạn chọn self-host sync của nó. Với một người viết note, Obsidian nhanh hơn mọi lựa chọn bên trên và bảo đảm hơn rằng các file của bạn vẫn tồn tại sau khi software không còn được duy trì.
Sync là phần bạn phải host. Các lựa chọn gồm paid first-party sync service, một CouchDB instance hoặc S3-compatible object storage kết hợp với community LiveSync plugin, hoặc file sync thuần như Syncthing hay một WebDAV share. Real-time editing cho nhiều người không nằm trong các lựa chọn này. Nếu hai người cần chỉnh sửa cùng một page tại cùng thời điểm, Obsidian không phải tool phù hợp.
Databases và tables: nơi hầu hết lựa chọn thay thế dừng lại
Đây là tiêu chí quyết định việc tìm kiếm. Những người thấy thiếu Notion thường là vì thiếu database: một table có các field theo kiểu dữ liệu, nhiều view trên cùng các row và các filter.
AppFlowy có tính năng này, với grid, board và calendar views. Outline, Docmost và BookStack thì không. Chúng có các document chứa simple table, nhưng đó không phải cùng một thứ, vì các row không thể query và không có view thứ hai trên chúng. Obsidian nằm ở giữa: tính năng Bases của nó cung cấp table, cards, list, Kanban và map views trên các note properties; Notion importer chính thức cũng chuyển database và formula sang Bases, nhưng mỗi database chỉ chuyển được primary view. Nếu một Notion database đang chứa công việc của cả team, AppFlowy là lựa chọn thực sự duy nhất trong nhóm này. Trước khi commit, bạn nên đối chiếu giới hạn seat của free tier với quy mô team. Nếu database chỉ thuộc về bạn, importer của Obsidian cũng đáng để test.
Mức tiêu thụ tài nguyên: mỗi stack thực sự chạy gì
Docmost và Outline đều chạy 3 container: app, PostgreSQL và Redis. Cả hai đều chạy ổn trên một VPS nhỏ. BookStack chạy app cùng một database MySQL hoặc MariaDB, nên là stack nhẹ nhất trong 4 lựa chọn.
AppFlowy Cloud nặng hơn hẳn. 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, service AppFlowy Cloud, frontend quản trị, worker, service tìm kiếm, service AI và web app. File này cũng định nghĩa một backup service, nhưng service đó chỉ khởi động nếu bạn bật nó. Đây là một hệ thống gồm database thực, object store và khoảng 10 container. Hãy dự trù đủ 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 Notion self-hosted nào gần với chính Notion nhất?
AppFlowy. Đây là project duy nhất trong số này có khái niệm database đầy đủ để team cùng share, với các field theo kiểu dữ liệu và grid, board, calendar views trên cùng các row. Bases của Obsidian là lựa chọn gần nhất tiếp theo, với table và Kanban views trên note properties, nhưng nằm trong một vault thuộc về một người. Outline, Docmost và BookStack là các tool dành cho document, có page hierarchy. Chúng rất tốt cho document, nhưng không thay thế được Notion database.
Tôi có thể self-host chính Notion không?
Không. Notion là một commercial hosted product, không có self-hosted edition và không công bố server component. Mỗi lựa chọn trong guide này là một open source project riêng, chỉ cung cấp một phần chức năng của Notion. Migration là export và import, không phải lift-and-shift cùng một software.
Các tool này có mobile app không?
AppFlowy phát hành app native cho iOS và Android. Sau khi trỏ app đến instance của bạn, chúng sẽ kết nối với server riêng của bạn. Outline và Docmost được sử dụng qua mobile browser. Cả hai đều đáp ứng tốt việc đọc và chỉnh sửa nhẹ theo cách này. Obsidian có mobile app đầy đủ, nhưng bạn phải tự cung cấp sync. BookStack là một web application responsive, không có first-party mobile app.
Tôi cần bao nhiêu RAM trên VPS?
Installation docs của Docmost không nêu minimum CPU hoặc RAM và chỉ liệt kê Docker là prerequisite. Published requirements của BookStack chỉ bao gồm các software version. Docmost và Outline mỗi tool chạy ba container, còn BookStack chạy hai container. Với team nhỏ, đây là workload phù hợp với một VPS nhỏ. AppFlowy Cloud là ngoại lệ, vì compose file của nó khởi động khoảng mười service, bao gồm PostgreSQL với pgvector và MinIO object storage. Vì vậy, hãy dự trù nhiều memory và disk hơn đáng kể cho AppFlowy Cloud.
Outline có dùng được nếu không đă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 một OIDC server self-hosted cũng hoạt động được. Outline không hỗ trợ username và password local thuần túy. Environment sample của chính nó cũng nêu rằng 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 sign-in.