Colanode là một nền tảng cộng tác mã nguồn mở, được thiết kế theo nguyên lý local-first (ưu tiên lưu trữ cục bộ), cho phép bạn tự host trên máy chủ riêng. Nó kết hợp tính năng của Slack (ứng dụng nhắn tin), Notion (tạo trang tài liệu), và các hệ thống quản lý dữ liệu hiện đại, tất cả trong một ứng dụng duy nhất.

Lợi ích chính của Colanode
- Kiểm soát dữ liệu: Toàn bộ dữ liệu của bạn được lưu trữ trên máy chủ bạn quản lý, không lưu trữ trên máy chủ bên thứ ba. Điều này giúp bạn có quyền kiểm soát hoàn toàn và bảo vệ quyền riêng tư.
- Hoạt động ngoại tuyến: Nhờ kiến trúc local-first, Colanode cho phép bạn tiếp tục làm việc ngay cả khi mất kết nối internet. Tất cả thay đổi sẽ được đồng bộ hóa tự động khi kết nối trở lại.
- Mã nguồn mở: Colanode được phát hành dưới giấy phép Apache 2.0, cho phép bạn xem, sửa đổi, và tuỳ chỉnh mã theo nhu cầu.
- Cộng tác thời gian thực: Sử dụng công nghệ CRDT (Conflict-free Replicated Data Types) được điều khiển bởi Yjs, cho phép nhiều người cùng chỉnh sửa tài liệu và cơ sở dữ liệu mà không xảy ra xung đột.
- Miễn phí và nhẹ: Không có chi phí hàng tháng, không có giới hạn người dùng, và ứng dụng hoạt động hiệu quả với tài nguyên hệ thống tối thiểu.
Các tính năng nổi bật của Colanode
Colanode cung cấp những tính năng sau để hỗ trợ cộng tác nhóm:
- Nhắn tin thời gian thực: Gửi tin nhắn tức thời cho các nhóm hoặc cá nhân
- Trang tài liệu đa dạng: Tạo wiki, ghi chú, và tài liệu với trình soạn thảo tương tự Notion
- Cơ sở dữ liệu tuỳ chỉnh: Tổ chức thông tin với các trường tuỳ chỉnh, hỗ trợ nhiều góc nhìn (bảng, kanban, lịch)
- Quản lý tập tin: Lưu trữ, chia sẻ tập tin trong không gian làm việc an toàn
- Hỗ trợ cộng tác đồng thời: Nhiều người có thể chỉnh sửa cùng lúc nhờ công nghệ CRDT
- Kết nối đa máy chủ: Một ứng dụng có thể kết nối đến nhiều máy chủ khác nhau
Yêu cầu hệ thống cho Colanode
Trước khi cài đặt Colanode, hãy đảm bảo rằng hệ thống của bạn đáp ứng các yêu cầu sau:
Để chạy ứng dụng khách (Web hoặc Desktop):
- Trình duyệt web hiện đại (Chrome, Firefox, Safari, Edge)
- Hoặc Node.js phiên bản 18+ (để chạy phiên bản desktop phát triển)
Để tự host máy chủ Colanode:
- PostgreSQL 12+ với tiện ích pgvector
- Redis (hoặc bất kỳ dịch vụ tương thích Redis nào, ví dụ Valkey)
- Node.js 18+
- Docker (tuỳ chọn, nhưng được khuyến nghị)
- Ít nhất 2GB RAM và 10GB không gian đĩa để bắt đầu
- Máy chủ web hoặc VPS để host
Hướng dẫn cài đặt Colanode
Cách 1: Sử dụng Web App (Cách nhanh nhất)
Nếu bạn chỉ muốn thử nghiệm Colanode mà không cần cài đặt, hãy sử dụng web app miễn phí:
- Truy cập app.colanode.com
- Nhấp vào “Đăng Ký” (Register)
- Nhập email và mật khẩu
- Chọn máy chủ cloud (EU hoặc US) và tạo không gian làm việc
- Bắt đầu sử dụng ngay
LƯU Ý:
Web app hiện đang ở giai đoạn beta sớm, có thể gặp lỗi hoặc vấn đề tương thích trên một số trình duyệt.
Cách 2: Cài đặt ứng dụng Desktop (Khuyến nghị)
Để có trải nghiệm tối ưu hơn, hãy tải về ứng dụng desktop:
- Truy cập trang: https://colanode.com/downloads/
- Chọn phiên bản phù hợp với hệ điều hành của bạn:
- macOS (Intel hoặc Apple Silicon)
- Windows (64-bit)
- Linux (AppImage hoặc Snap)
- Tải về và cài đặt ứng dụng
- Mở ứng dụng và đăng ký hoặc đăng nhập
- Kết nối đến máy chủ cloud hoặc máy chủ tự host của bạn

Cách 3: Cài đặt từ GitHub – Chạy cục bộ (Cho nhà phát triển)
Nếu bạn muốn tham gia phát triển hoặc chạy phiên bản tùy chỉnh, hãy làm theo các bước sau:
Bước 1: Clone Repository Từ GitHub
git clone https://github.com/colanode/colanode.git
cd colanode
Bước 2: Cài đặt các phụ thuộc
# Cài đặt các phụ thuộc chính tại thư mục gốc
npm install
Bước 3: Khởi động các dịch vụ hỗ trợ (PostgreSQL, Redis)
Chạy các dịch vụ phụ thuộc (cơ sở dữ liệu, bộ nhớ cache) bằng Docker Compose:
# Từ thư mục gốc của dự án
docker compose -f hosting/docker/docker-compose.yaml up -d
Lệnh này sẽ khởi động:
- PostgreSQL: Cơ sở dữ liệu chính
- Redis: Bộ nhớ cache và message queue
- MailHog: Máy chủ email thử nghiệm
Bước 4: Cấu Hình Biến Môi Trường Cho Server
# Chuyển đến thư mục server
cd apps/server
# Sao chép tập tin template biến môi trường
cp .env.example .env
# Mở .env bằng trình soạn thảo và điều chỉnh các giá trị cần thiết
# Ví dụ: nano .env hoặc mở bằng VS Code
Các biến môi trường quan trọng:
# Kết Nối Cơ Sở Dữ Liệu
DATABASE_URL=postgresql://colanode:password@localhost:5432/colanode
# Kết Nối Redis
REDIS_URL=redis://localhost:6379
# Khóa Bảo Mật (Tạo một chuỗi ngẫu nhiên)
SECRET_KEY=your-random-secret-key-here
# Loại Lưu Trữ (local hoặc s3)
STORAGE_TYPE=local
STORAGE_LOCAL_PATH=./data/files
# Cấu Hình Server
PORT=3000
NODE_ENV=development
Bước 5: Khởi động Server Colanode
# Từ thư mục apps/server
npm run dev
Server sẽ khởi động trên http://localhost:3000
. Bạn sẽ thấy thông báo:
Server is running at http://localhost:3000
Bước 6: Khởi động ứng dụng web (Trong terminal mới)
# Từ thư mục gốc, mở terminal mới
cd apps/web
# Cài đặt phụ thuộc
npm install
# Khởi động server phát triển
npm run dev
Ứng dụng web sẽ chạy trên http://localhost:5173
(hoặc cổng khác nếu 5173 đã được sử dụng).
Bước 7: Truy cập và đăng ký
- Mở trình duyệt và truy cập
http://localhost:5173
- Nhấp vào “Thêm máy chủ mới” (Add New Server)
- Nhập URL máy chủ:
http://localhost:3000
- Nhấp “Đăng ký” (Register) và tạo tài khoản
- Tạo không gian làm việc mới (Workspace) và bắt đầu sử dụng
Cách 4: Self-Host với Docker Compose (Cho máy chủ Production)
Để triển khai Colanode trên máy chủ production, sử dụng Docker Compose từ thư mục hosting/docker/
:
# Clone repository (nếu chưa có)
git clone https://github.com/colanode/colanode.git
cd colanode/hosting/docker
# Khởi động tất cả các dịch vụ
docker compose up -d
# Kiểm tra trạng thái các container
docker compose ps
# Xem log (nếu cần)
docker compose logs -f
Sau khi khởi động thành công, Colanode sẽ chạy trên http://localhost
(hoặc domain bạn cấu hình).
Cách 5: Triển khai trên Kubernetes (Cho doanh nghiệp)
Nếu bạn muốn triển khai Colanode trên Kubernetes:
# Chuyển đến thư mục Kubernetes
cd hosting/kubernetes
# Cài đặt bằng Helm
helm install colanode ./colanode-chart \
--namespace colanode \
--create-namespace
# Kiểm tra trạng thái pod
kubectl get pods -n colanode
Xem tài liệu chi tiết trong hosting/kubernetes/README.md
.
Xử lý lỗi phổ biến
Lỗi 1: PostgreSQL Không Kết Nối
Triệu chứng: Lỗi “Connection refused” hoặc “Database not found”
Giải pháp:
# Kiểm tra PostgreSQL đang chạy
docker ps | grep postgres
# Khởi động lại dịch vụ
docker compose -f hosting/docker/docker-compose.yaml restart postgres
# Kiểm tra log
docker logs colanode-postgres-1
Lỗi 2: Cổng đã được sử dụng
Triệu chứng: Lỗi “Address already in use” cho port 3000, 5173, v.v.
Giải pháp:
# Tìm tiến trình sử dụng cổng (trên macOS/Linux)
lsof -i :3000
# Tắt tiến trình (thay PID bằng ID tiến trình)
kill -9 <PID>
# Hoặc sử dụng cổng khác bằng cách thay đổi trong .env
PORT=3001
Lỗi 3: Các phụ thuộc NPM không cài đặt
Triệu chứng: Lỗi “Cannot find module” khi khởi động
Giải pháp:
# Xóa thư mục node_modules cũ
rm -rf node_modules package-lock.json
# Cài đặt lại tất cả phụ thuộc
npm install
# Nếu vẫn lỗi, xóa cache npm
npm cache clean --force
npm install
Lỗi 4: Không thể kết nối đến máy chủ local
Triệu chứng: Lỗi “Failed to fetch” hoặc “Connection refused”
Giải pháp:
- Đảm bảo server đang chạy (
npm run dev
tạiapps/server
) - Kiểm tra URL máy chủ trong ứng dụng web (
http://localhost:3000
) - Kiểm tra tường lửa không chặn cổng 3000
- Nếu sử dụng HTTPS, cấu hình chứng chỉ SSL thích hợp
Hướng dẫn sử dụng Colanode cơ bản
Bước 1: Tạo không gian làm việc (workspace)
- Đăng nhập vào Colanode
- Nhấp vào “+ Tạo không gian làm việc mới” (+ Create New Workspace)
- Đặt tên cho không gian làm việc (ví dụ: “Dự Án A”, “Nhóm Phát Triển”)
- Nhấp “Tạo” (Create)
Bước 2: Mời thành viên nhóm
- Vào Cài Đặt (Settings) → Thành Viên (Members)
- Nhấp “Mời Thành Viên” (Invite Member)
- Nhập email của thành viên
- Chọn vai trò: Owner, Admin, Editor, hoặc Viewer
- Gửi lời mời
Bước 3: Tạo kênh chat

- Trong không gian làm việc, nhấp “+ Tạo Mới” (+ Create)
- Chọn “Kênh” (Channel)
- Đặt tên kênh (ví dụ: #tổng-hợp, #phát-triển, #marketing)
- Chọn quyền riêng tư: Công khai hoặc Riêng tư
- Nhấp “Tạo” (Create)
- Bắt đầu nhắn tin!
Bước 4: Tạo trang tài liệu

- Nhấp “+ Tạo Mới” → “Trang” (Page)
- Đặt tiêu đề trang
- Sử dụng trình soạn thảo để viết nội dung:
- Định dạng chữ: In đậm, In nghiêng, Gạch chân
- Tiêu đề: Heading 1, 2, 3
- Danh sách: Đánh dấu, Đánh số
- Mã Code: Code blocks với tô màu cú pháp
- Bảng: Tạo bảng dữ liệu
- Tệp Đính Kèm: Kéo và thả tệp
Bước 5: Tạo cơ sở dữ liệu tuỳ chỉnh

- Nhấp “+ Tạo Mới” → “Cơ sở dữ liệu” (Database)
- Chọn mẫu: Trống, Bảng dự án, Danh sách công việc, v.v.
- Xác định các trường (fields):
- Text (Văn bản)
- Number (Số)
- Date (Ngày)
- Select (Lựa Chọn)
- Multiselect (Nhiều Lựa Chọn)
- Person (Người)
- Và nhiều loại khác
- Tạo các góc nhìn (views): Bảng, Kanban, Lịch, Thư Viện
- Thêm bản ghi và bắt đầu tổ chức dữ liệu
Ví dụ: Tạo bảng quản lý công việc
Cơ Sở Dữ Liệu: Công Việc Dự Án
Các Trường:
- Tên Công Việc (Text)
- Trạng Thái (Select: To Do, Doing, Done)
- Độ Ưu Tiên (Select: Low, Medium, High)
- Hạn Chót (Date)
- Người Phụ Trách (Person)
- Mô Tả (Rich Text)
Các Góc Nhìn:
- Bảng: Xem tất cả công việc
- Kanban: Tổ chức theo Trạng Thái
- Lịch: Xem theo Hạn Chót
Đặc điểm kiến trúc Local-First
Cách hoạt động
Colanode sử dụng mô hình local-first:
- Lưu cục bộ trước: Khi bạn thực hiện thay đổi (gửi tin nhắn, chỉnh sửa trang), dữ liệu được lưu ngay vào cơ sở dữ liệu SQLite cục bộ trên thiết bị của bạn
- Đồng bộ hóa nền: Một tiến trình chạy ở nền sẽ gửi các thay đổi của bạn đến máy chủ
- Đọc nhanh: Khi bạn xem nội dung, Colanode đọc từ cơ sở dữ liệu cục bộ trước, không phải chờ máy chủ
Lợi ích:
- Ứng dụng phản ứng cực nhanh (không có thời gian chờ)
- Hoạt động ngoại tuyến (làm việc khi mất internet)
- Giảm tải cho máy chủ
- Bảo vệ quyền riêng tư (dữ liệu ở cục bộ)
Sử dụng CRDT cho cộng tác đồng thời
Colanode sử dụng CRDT (Conflict-free Replicated Data Types) để cho phép nhiều người chỉnh sửa cùng lúc:
- Không xung đột: Khi 2 người chỉnh sửa cùng một trang, hệ thống tự động sáp nhập các thay đổi
- Không mất dữ liệu: Tất cả các chỉnh sửa đều được giữ lại, không có việc ghi đè
- Đồng bộ tự động: Các thiết bị tự động cập nhật với phiên bản mới nhất
Điều này khác với hệ thống truyền thống nơi server chọn một “phiên bản chiến thắng” và các thay đổi khác bị mất.
Tối ưu hóa hiệu suất
Bộ nhớ và CPU
Để chạy Colanode hiệu quả:
- Nhỏ: 1-5 người → 2GB RAM, 1 CPU
- Vừa: 5-50 người → 4GB RAM, 2 CPU
- Lớn: 50+ người → 8GB+ RAM, 4+ CPU
Lưu trữ tệp
Colanode hỗ trợ nhiều loại lưu trữ:
- Cục bộ: Lưu tệp trên đĩa máy chủ (mặc định)
- S3: Sử dụng Amazon S3, MinIO, hoặc dịch vụ tương thích
- Google Cloud Storage: Lưu trữ trên Google Cloud
- Azure Blob Storage: Lưu trữ trên Microsoft Azure
Cấu hình production
# Trong .env của server
NODE_ENV=production
PORT=3000
DATABASE_URL=postgresql://user:pass@prod-db:5432/colanode
REDIS_URL=redis://prod-redis:6379
STORAGE_TYPE=s3
S3_ENDPOINT=https://s3.amazonaws.com
S3_REGION=us-east-1
S3_BUCKET=my-colanode-bucket
S3_ACCESS_KEY=your-access-key
S3_SECRET_KEY=your-secret-key
Các lệnh hay dùng
# Khởi động lại toàn bộ hệ thống
docker compose -f hosting/docker/docker-compose.yaml restart
# Xem log server
docker logs -f colanode-server-1
# Sao lưu cơ sở dữ liệu
docker exec colanode-postgres-1 pg_dump -U colanode colanode > backup.sql
# Khôi phục cơ sở dữ liệu
cat backup.sql | docker exec -i colanode-postgres-1 psql -U colanode colanode
# Cập nhật Colanode
git pull origin main
npm install
docker compose -f hosting/docker/docker-compose.yaml down
docker compose -f hosting/docker/docker-compose.yaml up -d
Colanode là một giải pháp mã nguồn mở tuyệt vời cho những ai muốn có nền tảng cộng tác toàn diện, miễn phí, và với quyền kiểm soát dữ liệu hoàn toàn. Dù bạn là lập trình viên, quản lý dự án, hay chỉ đơn giản là muốn thay thế Slack và Notion, Colanode đều là lựa chọn xứng đáng.