Quay lại danh sách
Tin tức công nghệ

Triển khai Docmost trên VPS: Nền tảng Wiki và ghi chú cộng tác thời gian thực siêu nhẹ viết bằng Go cho Dev Team

29 tháng 5, 2026

Giới thiệu về Docmost: Làn gió mới cho hệ thống quản lý tri thức nội bộ

Trong kỷ nguyên chuyển đổi số, việc quản lý tri thức (Knowledge Management) và tài liệu hóa quy trình đóng vai trò sống còn đối với sự thành bại của một đội ngũ phát triển phần mềm (Development Team). Nhiều doanh nghiệp đã tìm đến các giải pháp quen thuộc như Confluence, Notion hay Notion-like self-hosted như AppFlowy, Affine. Tuy nhiên, các nền tảng này thường gặp phải hai bài toán lớn: chi phí bản quyền đắt đỏ đối với các giải pháp Cloud thương mại, hoặc yêu cầu tài nguyên phần cứng cực kỳ nặng nề (ngốn RAM và CPU) đối với các giải pháp mã nguồn mở viết bằng Node.js hoặc Java.

Đó là lý do Docmost xuất hiện như một giải pháp cứu cánh đầy hứa hẹn. Được xây dựng hoàn toàn bằng ngôn ngữ Go (Golang) ở backend và tối ưu hóa giao diện ở frontend, Docmost là một nền tảng Wiki và ghi chú cộng tác thời gian thực (real-time collaborative) siêu nhẹ, mã nguồn mở và cực kỳ mạnh mẽ. Docmost cho phép các nhóm phát triển dễ dàng tạo lập, chia sẻ và cùng nhau biên tập tài liệu một cách mượt mà mà không làm hao tổn tài nguyên máy chủ VPS.

Tại sao Docmost là lựa chọn lý tưởng cho các Development Team?

Các nhóm phát triển phần mềm có những đặc thù rất riêng về cách làm việc và quản lý thông tin. Docmost được thiết kế để đáp ứng chính xác các nhu cầu đó thông qua các tính năng cốt lõi vượt trội:

  • Cộng tác thời gian thực (Real-time Collaboration): Nhiều lập trình viên và quản lý dự án có thể đồng thời chỉnh sửa một tài liệu trong cùng một thời điểm. Mọi thay đổi được đồng bộ tức thì với độ trễ gần như bằng không, giúp loại bỏ hoàn toàn tình trạng xung đột phiên bản tài liệu.
  • Trình soạn thảo WYSIWYG mạnh mẽ: Hỗ trợ định dạng văn bản phong phú, chèn bảng, danh sách công việc (to-do list), và đặc biệt là khả năng chèn code block hỗ trợ highlight cú pháp cho nhiều ngôn ngữ lập trình khác nhau – một tính năng không thể thiếu đối với dân công nghệ.
  • Cấu trúc tài liệu phân cấp trực quan: Cho phép tổ chức không gian làm việc (Spaces) theo từng dự án hoặc phòng ban, bên trong là hệ thống cây thư mục tài liệu lồng nhau không giới hạn, giúp việc tìm kiếm và tra cứu thông tin trở nên nhanh chóng.
  • Hiệu suất đỉnh cao từ Go: Khác với các ứng dụng chạy trên môi trường Node.js hay bộ nhớ ảo Java, một container Docmost hoạt động ổn định chỉ với vài chục Megabyte RAM. Điều này giúp doanh nghiệp tiết kiệm chi phí thuê VPS một cách đáng kể.
  • Bảo mật và Quyền riêng tư tuyệt đối: Khi tự triển khai (Self-hosted) trên VPS riêng, toàn bộ dữ liệu mã nguồn, tài liệu API, quy trình nội bộ của doanh nghiệp được bảo vệ tuyệt đối, tránh nguy cơ rò rỉ dữ liệu từ các nhà cung cấp đám mây bên thứ ba.

Yêu cầu hệ thống trước khi cài đặt

Để quá trình triển khai Docmost diễn ra suôn sẻ, bạn cần chuẩn bị một máy chủ ảo (VPS) đáp ứng các tiêu chuẩn cơ bản sau đây:

  • Hệ điều hành: Ubuntu 22.04 LTS hoặc Ubuntu 24.04 LTS (khuyến nghị để có độ ổn định cao nhất).
  • Cấu hình phần cứng tối thiểu: 1 vCPU, 1 GB RAM, và 10 GB ổ cứng trống. Với cấu hình này, Docmost đã có thể phục vụ mượt mà cho một team từ 15-30 người.
  • Công cụ bổ sung: Docker và Docker Compose đã được cài đặt sẵn trên máy chủ.
  • Tên miền (Domain Name): Một tên miền hoặc tên miền phụ (subdomain) đã được trỏ bản ghi A về địa chỉ IP của VPS (ví dụ: wiki.congtycuaban.com) để thiết lập chứng chỉ SSL bảo mật HTTPS.

Hướng dẫn chi tiết các bước triển khai Docmost trên VPS bằng Docker Compose

Sử dụng Docker Compose là phương pháp nhanh chóng, an toàn và dễ quản lý nhất để đưa Docmost vào vận hành. Dưới đây là quy trình từng bước cụ thể:

Bước 1: Kết nối vào VPS và thiết lập thư mục dự án

Trước hết, bạn cần SSH vào máy chủ VPS của mình bằng quyền root hoặc user có quyền sudo, sau đó tạo một thư mục riêng để lưu trữ cấu hình của Docmost:

ssh root@your_vps_ip
mkdir -p /opt/docmost
cd /opt/docmost

Bước 2: Tạo file cấu hình môi trường (.env)

Docmost cần một số biến môi trường để định cấu hình cơ sở dữ liệu và khóa bảo mật. Hãy tạo file .env bằng trình soạn thảo nano:

nano .env

Sau đó, copy và chỉnh sửa nội dung bên dưới cho phù hợp với thông tin của bạn:

APP_URL=https://wiki.congtycuaban.com
APP_SECRET=thay_the_bang_mot_chuoi_random_that_dai_va_bao_mat

DB_POSTGRES_USER=docmost_user
DB_POSTGRES_PASSWORD=mat_khau_database_sieu_bao_mat
DB_POSTGRES_DB=docmost_db

Lưu ý: Bạn có thể sử dụng lệnh openssl rand -hex 32 để tạo ra một chuỗi APP_SECRET ngẫu nhiên và an toàn.

Bước 3: Khởi tạo file cấu hình Docker Compose

Tiếp theo, tạo file docker-compose.yml để định nghĩa các dịch vụ bao gồm ứng dụng Docmost và cơ sở dữ liệu PostgreSQL:

nano docker-compose.yml

Điền nội dung cấu hình tiêu chuẩn sau vào file:

version: '3' SERVICES:
  docmost:
    image: docmost/docmost:latest
    depends_on:
      - db
    environment:
      - APP_URL=${APP_URL}
      - APP_SECRET=${APP_SECRET}
      - DB_DRIVER=postgres
      - DB_POSTGRES_USER=${DB_POSTGRES_USER}
      - DB_POSTGRES_PASSWORD=${DB_POSTGRES_PASSWORD}
      - DB_POSTGRES_DB=${DB_POSTGRES_DB}
      - DB_POSTGRES_HOST=db
      - DB_POSTGRES_PORT=5432
    ports:
      - "3000:3000"
    restart: always
    volumes:
      - docmost_data:/app/data

  db:
    image: postgres:16-alpine
    environment:
      - POSTGRES_USER=${DB_POSTGRES_USER}
      - POSTGRES_PASSWORD=${DB_POSTGRES_PASSWORD}
      - POSTGRES_DB=${DB_POSTGRES_DB}
    restart: always
    volumes:
      - pg_data:/var/lib/postgresql/data

volumes:
  docmost_data:
  pg_data:

Bước 4: Khởi động hệ thống Docmost

Sau khi đã lưu đầy đủ các file cấu hình, tiến hành tải các image và khởi chạy container ở chế độ chạy ngầm (detached mode) bằng lệnh:

docker compose up -d

Kiểm tra trạng thái hoạt động của các container bằng lệnh docker compose ps để đảm bảo cả hai dịch vụ docmost và db đều đang ở trạng thái "Up".

Cấu hình Reverse Proxy Nginx và thiết lập SSL (HTTPS)

Hiện tại, Docmost đang chạy trên cổng nội bộ 3000. Để người dùng có thể truy cập an toàn qua internet với giao thức HTTPS, chúng ta cần thiết lập Nginx làm Reverse Proxy và cài đặt chứng chỉ SSL miễn phí từ Let's Encrypt.

1. Cài đặt Nginx và Certbot

sudo apt update
sudo apt install nginx certbot python3-certbot-nginx -y

2. Tạo file cấu hình Nginx cho Docmost

sudo nano /etc/nginx/sites-available/docmost

Thêm đoạn cấu hình sau (nhớ thay đổi tên miền của bạn):

server {
    listen 80;
    server_name wiki.congtycuaban.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $$http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $$host;
        proxy_set_header X-Real-IP $$remote_addr;
        proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $$scheme;
    }
}

Kích hoạt cấu hình và khởi động lại Nginx:

sudo ln -s /etc/nginx/sites-available/docmost /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

3. Cài đặt chứng chỉ SSL HTTPS

Chạy lệnh Certbot để tự động cấu hình SSL cho tên miền:

sudo certbot --nginx -d wiki.congtycuaban.com

Làm theo hướng dẫn trên màn hình, chọn tùy chọn tự động chuyển hướng (redirect) từ HTTP sang HTTPS. Khi hoàn tất, hệ thống Wiki của bạn đã được bảo mật hoàn toàn.

Trải nghiệm và tối ưu hóa hệ thống sau cài đặt

Bây giờ, hãy mở trình duyệt web và truy cập vào địa chỉ https://wiki.congtycuaban.com. Trong lần truy cập đầu tiên, hệ thống sẽ yêu cầu bạn khởi tạo tài khoản Quản trị viên (Admin). Hãy điền đầy đủ họ tên, email công việc và mật khẩu bảo mật.

Giao diện bảng điều khiển của Docmost được thiết kế cực kỳ tối giản, tinh tế và mang đậm phong cách hiện đại. Hãy bắt đầu bằng việc tạo một Space chung cho Development Team. Tại đây, bạn có thể phân chia các không gian nhỏ hơn như: Tài liệu kiến trúc hệ thống (System Architecture), Hướng dẫn Onboarding cho Dev mới, Quy trình Review Code, hoặc các tài liệu API Specifications.

Để tối ưu hóa hiệu suất làm việc lâu dài, các trưởng nhóm nên khuyến khích các thành viên sử dụng tối đa các phím tắt (shorcuts) và cú pháp Markdown được tích hợp sẵn trong trình biên tập của Docmost. Thêm vào đó, việc sao lưu định kỳ (Backup) thư mục /opt/docmost lên các dịch vụ lưu trữ đám mây như S3 hoặc Google Drive cũng là một thói quen tốt để phòng ngừa các sự cố phần cứng VPS ngoài ý muốn.

Lời kết

Việc xây dựng một cổng thông tin kiến thức nội bộ tập trung, trực quan và có tốc độ phản hồi nhanh là chìa khóa để gia tăng hiệu suất và tính gắn kết trong các Development Team. Với sự gọn nhẹ, tốc độ vượt trội nhờ ngôn ngữ Go cùng khả năng cộng tác thời gian thực tuyệt vời, Docmost thực sự là một lựa chọn đáng giá để tự triển khai trên VPS. Chúc các bạn cấu hình thành công và có những trải nghiệm làm việc cộng tác tuyệt vời cùng đội ngũ của mình!

Triển khai Docmost trên VPS: Nền tảng Wiki và ghi chú cộng tác thời gian thực siêu nhẹ viết bằng Go cho Dev Team | DPTCloud