−25%

cho Windows trả theo năm, đến 31/10. Xem các gói

EQVPS

VPS cho BookStack: wiki nhóm tự host

Chạy BookStack trên VPS làm wiki tài liệu của nhóm: Docker với MariaDB, HTTPS trên tên miền của bạn, lần đăng nhập đầu, sao lưu và yêu cầu thực tế.

Tài liệu của nhóm thường chết theo một trong hai cách: rải rác trong các luồng chat không ai tìm được, hoặc bị chôn trong một wiki vụng về đến mức không ai buồn cập nhật. BookStack là wiki tự host hiếm hoi mà mọi người thực sự dùng. Nội dung được xếp trên kệ, trong sách, chương và trang — một cấu trúc ai cũng hiểu mà không cần đào tạo. Và nó hầu như không cần máy chủ.

Vì sao chọn BookStack

Nó không phải công cụ cho mọi việc. Tài liệu dành cho lập trình viên cần thay đổi cùng code nên nằm trong kho mã, không phải trong wiki.

Cần những gì

BookStack rất nhẹ. Với hầu hết các nhóm, Micro-IP — 1 vCPU, 2 GB, $10 mỗi tháng — là thừa đủ. IP riêng là thứ giúp đồng nghiệp truy cập qua HTTPS trên tên miền của bạn. Ổ đĩa tăng theo ảnh chụp màn hình và PDF được tải lên, không theo số trang.

Cài đặt bằng Docker Compose

Chúng ta sẽ dùng các image phổ biến của LinuxServer.io. Trước tiên tạo khóa ứng dụng:

docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey

Sao chép giá trị base64:... được in ra. Sau đó tạo docker-compose.yml:

services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    environment:
      - PUID=1000
      - PGID=1000
      - APP_URL=https://wiki.example.com
      - APP_KEY=base64:paste-your-key-here
      - DB_HOST=db
      - DB_PORT=3306
      - DB_DATABASE=bookstack
      - DB_USERNAME=bookstack
      - DB_PASSWORD=change-me
    volumes:
      - ./bookstack:/config
    ports:
      - 127.0.0.1:6875:80
    depends_on:
      - db
    restart: unless-stopped
  db:
    image: lscr.io/linuxserver/mariadb:latest
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=change-me-too
      - MYSQL_DATABASE=bookstack
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=change-me
    volumes:
      - ./db:/config
    restart: unless-stopped
docker compose up -d
docker compose logs -f bookstack

APP_URL phải khớp với địa chỉ mọi người sẽ dùng, kể cả https://. Đặt sai thì ảnh và liên kết hỏng theo những cách kỳ lạ. Tìm hiểu thêm về Compose trong hướng dẫn triển khai stack của chúng tôi.

HTTPS và lần đăng nhập đầu

Trỏ một tên miền phụ về máy chủ (cách làm), đặt nginx trước 127.0.0.1:6875 và thêm chứng chỉ bằng certbot — hướng dẫn reverse proxy dẫn từng bước.

Sau đó đăng nhập bằng tài khoản mặc định: admin@admin.com / password. Đổi email và mật khẩu ngay, trước khi chia sẻ đường link. Những người khác nhận tài khoản riêng hoặc đăng nhập qua nhà cung cấp định danh của bạn.

Sao lưu

Hai thứ cần bảo vệ: cơ sở dữ liệu và các tệp tải lên trong ./bookstack. Một tác vụ chạy hằng đêm như thế này lo phần cơ sở dữ liệu:

docker compose exec -T db mysqldump -u bookstack -pchange-me bookstack > /var/backups/bookstack.sql

Sau đó sao lưu /var/backups và thư mục compose ra ngoài máy chủ — đúng những gì hướng dẫn restic của chúng tôi làm. Managed Backups bổ sung thêm điểm khôi phục hằng ngày cho toàn bộ máy chủ.

Bảo trì

Cập nhật chỉ là docker compose pull && docker compose up -d. BookStack tự chạy migration cơ sở dữ liệu khi khởi động. Đọc ghi chú phát hành trước các phiên bản lớn; chúng ngắn gọn và rõ ràng.

Nếu nhóm bạn cũng muốn một nơi cho ticket và code, một máy chủ Git tự host đặt cạnh nó rất hợp, trên cùng loại gói.

Sẵn sàng triển khai? Thanh toán bằng crypto, không KYC — trực tuyến trong khoảng một phút.

Triển khai ngay →

FAQ

BookStack cần máy chủ cỡ nào?

Rất nhỏ. BookStack là ứng dụng PHP với cơ sở dữ liệu MariaDB; một nhóm vài chục người chạy thoải mái trên 1 vCPU và 2 GB RAM. Ổ đĩa chủ yếu dành cho ảnh và tệp đính kèm được tải lên.

Thông tin đăng nhập mặc định là gì?

admin@admin.com với mật khẩu 'password'. Đăng nhập và đổi cả hai ngay — trước khi chia sẻ URL với bất kỳ ai.

Nó có dùng đăng nhập của công ty chúng tôi được không?

Được. BookStack hỗ trợ LDAP, SAML2 và OpenID Connect, nên mọi người đăng nhập qua nhà cung cấp định danh mà bạn đang dùng.

Tôi có cần IP riêng không?

Với nhóm thì có. Đồng nghiệp mở nó trong trình duyệt qua HTTPS, việc đó cần lưu lượng đi vào cổng 443 trên IP của bạn. Còn với sổ ghi chép cá nhân, đường hầm SSH trên gói NAT cũng đủ.

Sao lưu nó thế nào?

Dump cơ sở dữ liệu và sao chép thư mục tải lên, nằm trong volume cấu hình được gắn vào. Hướng dẫn restic của chúng tôi tự động hóa cả hai thành snapshot mã hóa ngoài máy chủ.

Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên.

Để lại bình luận

Bình luận được kiểm duyệt trước khi hiển thị.